-->
当前位置:首页 > 题库 > 正文内容

程序填空题:拓扑排序

Luz4年前 (2021-05-10)题库4386
下列代码的功能是对一个给定的图`G`执行拓扑排序,其中`TopNum[]`从1开始记录拓扑序。

```c++
void Topsort( Graph G )
{
Queue Q;
Vertex V, W;
NodePtr ptr;
int counter = 0;

Q = CreateEmptyQueue(NumVertex);
for ( V=0; VNumV; V++ )
if ( Indegree[V] == 0 )
Enqueue(V, Q);
while ( !IsEmpty(Q) ){
V = Dequeue( Q );
TopNum[V] = @@[++counter](3);
for ( ptr=G->List[V]; ptr; ptr=ptr->Next) {
W = ptr->Vertex;
if ( @@[--Indegree[W]](3) == 0 )
Enqueue(W, Q);
}
}
if ( counter != NumVertex )
printf("ERROR: Graph has a cycle.\n");
DisposeQueue(Q);
}
```





答案:
第1空:++counter

第2空:--Indegree[W]

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。