pgm16_10.txt

来自「c#版本 算法大全 几乎所有常见的算法 This file contain」· 文本 代码 · 共 45 行

TXT
45
字号
////   This file contains the C# code from Program 16.10 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_10.txt//public abstract class AbstractGraph : AbstractContainer, Graph{    protected int numberOfVertices;    protected int numberOfEdges;    protected Vertex[] vertex;    public void TopologicalOrderTraversal(Visitor visitor)    {	int[] inDegree = new int[numberOfVertices];	for (int v = 0; v < numberOfVertices; ++v)	    inDegree[v] = 0;	foreach (Edge e in Edges)	{	    Vertex to = e.V1;	    ++inDegree[to.Number];	}	Queue queue = new QueueAsLinkedList();	for (int v = 0; v < numberOfVertices; ++v)	    if (inDegree[v] == 0)		queue.Enqueue(vertex[v]);	while (!queue.IsEmpty && !visitor.IsDone)	{	    Vertex v = (Vertex)queue.Dequeue();	    visitor.Visit(v);	    foreach (Vertex to in v.Successors)	    {		if (--inDegree[to.Number] == 0)		    queue.Enqueue(to);	    }	}    }    // ...}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?