正在加载图片...
DFS拓扑排序函数头(针对回路) void Topsortby DFS_ Circle(Graph& G) ∥对图所有顶点的标志位进行初始化 for(int i=0; i<G.VerticesNum(; i++) G. Mark[]= UNVISITED int *result=new int[G. VerticesNum(] int tag= NOTCIRCLED, index=0; ∥对图的所有顶点进行处理 for(i=0; i<G. VerticesNum(; i++ if ((G. Mark[]== UNVISITED &&(tag== NOTCIRCLEDD) Do_ topsort Circle(G,i, result, index,tag);∥递归 if (tag == NOTCIRCLED) for(i=G. VerticesNum0-1; i>=0; i--) ∥逆序输出 Visit(G, result[])DFS拓扑排序函数头(针对回路) void TopsortbyDFS_Circle(Graph& G) { //对图所有顶点的标志位进行初始化 for(int i=0; i<G.VerticesNum(); i++) G.Mark[i] = UNVISITED; int *result=new int[G.VerticesNum()]; int tag = NOTCIRCLED, index = 0; //对图的所有顶点进行处理 for (i=0; i<G.VerticesNum(); i++) if ((G.Mark[i] == UNVISITED) && (tag == NOTCIRCLED)) Do_topsort_Circle(G, i, result, index, tag); //递归 if (tag == NOTCIRCLED) for (i=G.VerticesNum()-1; i>=0; i--) //逆序输出 Visit(G, result[i]); }
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有