题目链接:点击打开链接
题目大意:略。
解题思路:略。
AC 代码
boolTopSort( LGraphGraph, VertexTopOrder[] ) { PtrToAdjVNodee; inttop=0, cnt=0, in[Graph->Nv+10]; for(inti=0;i<Graph->Nv;i++) in[i]=0; Vertex*sk; sk=(Vertex*)malloc(Graph->Nv*sizeof(Vertex)); for(inti=0;i<Graph->Nv;i++) { for(e=Graph->G[i].FirstEdge; e; e=e->Next) { intk=e->AdjV; in[k]++; } } for(inti=0;i<Graph->Nv;i++) if(in[i]==0) sk[++top]=i; while(top!=0) { inttp=sk[top--]; TopOrder[cnt++]=tp; for(e=Graph->G[tp].FirstEdge; e; e=e->Next) { intk=e->AdjV; if(!(--in[k])) sk[++top]=k; } } if(cnt<Graph->Nv) return0; return1; }