📄 pgm16_08.txt
字号:
//// This file contains the C# code from Program 16.8 of// "Data Structures and Algorithms// with Object-Oriented Design Patterns in C#"// by Bruno R. Preiss.//// Copyright (c) 2001--2002 by Bruno R. Preiss, P.Eng. All rights reserved.//// http://www.brpreiss.com/books/opus6/programs/pgm16_08.txt//public abstract class AbstractGraph : AbstractContainer, Graph{ protected int numberOfVertices; protected int numberOfEdges; protected Vertex[] vertex; public virtual void DepthFirstTraversal( PrePostVisitor visitor, int start) { bool[] visited = new bool[numberOfVertices]; for (int v = 0; v < numberOfVertices; ++v) visited[v] = false; DepthFirstTraversal(visitor, vertex[start], visited); } protected virtual void DepthFirstTraversal( PrePostVisitor visitor, Vertex v, bool[] visited) { if (visitor.IsDone) return; visitor.PreVisit(v); visited[v.Number] = true; foreach (Vertex to in v.Successors) { if (!visited[to.Number]) DepthFirstTraversal(visitor, to, visited); } visitor.PostVisit(v); } // ...}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -