文章
1
粉丝
26
获赞
0
访问
371
int searchtuopu(MGraph G){
int A[MAXV]={0}; //用于记录某顶点的入度是否为0;
for(int i=0;i<G.numVertices;i++){ //用于记录每个顶点的入度
for(int j=0;j<G.numVertices;j++){
if(Edge[j][i]!=0)
A[j]++;
}
}
for(int y=0;y<G.numVertices;y++){
int count=0,a=-1; //count用于记录当前有多少节点入度为0,变量a用于记录待删除节点
for(int i=0;i<G.numVertices;i++){
if(A[i]==0)
count++;
a=i;
}
if(count!=1) //若不存在拓扑排列或者不存在唯一拓扑排列,则返回0
return 0;
A[a]=-1;
for(int x=0;i<G.numVertices;x++){
if(Edge[a][x]==1)
A[x]--;
}
}
return 1;
}
登录后发布评论
暂无评论,来抢沙发