正在加载图片...
_d_ 五、填空题 下面给出的算法是建立AOV网络并对其进行拓扑排序的算法,其中有多个语句缺失。 void Graph: TopologicalSort()& Edge*p, g: int i,j, k; for(i=0;i<n;计++) Node Tableliladi=NULL j>>k; 输入有向边,k while(&&k)i p=new Edge(k); ∥建立边结点,dest域赋为k link= Node Tablel.adj: ∥链入顶点j的边链表的前端 count(k++; 顶点k入度加 in >>j>> k; for (i=0; i<n: i++) ∥建立入度为零顶点的链栈 ==0){ for (i=0 f cout <<"Network has a cycle"<< endl; return; cout < Node Tablel]. data < endl; U).adj; while(q)i 1k]==0){ (1)请将缺失的语句补上: (10分)2 五、填空题 下面给出的算法是建立 AOV 网络并对其进行拓扑排序的算法,其中有多个语句缺失。 void Graph::TopologicalSort ( ) { Edge * p, q; int i, j, k; for ( i = 0; i < n; i++ ) { NodeTable[i].adj = NULL; ; } cin >> j >> k; //输入有向边<j, k> while ( j && k ) { p = new Edge (k); //建立边结点, dest 域赋为 k p→link = NodeTable[j].adj; //链入顶点 j 的边链表的前端 ; count[k]++; //顶点 k 入度加一 cin >> j >> k; } int top = -1; for ( i = 0; i < n; i++ ) //建立入度为零顶点的链栈 if ( count[i] == 0 ) { count[i] = top; ; } for ( i = 0; i < n; i++ ) if ( top == -1 ) { cout << "Network has a cycle" << endl; return; } else { j = top; ; cout << NodeTable[j].data << endl; q = NodeTable[j].adj; while ( q ) { k = q→dest; if ( -- count[k] == 0 ) { count[k] = top; top = k; } ; } } } (1) 请将缺失的语句补上: (10 分)
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有