数据结构中图的拓扑排序~~想了很久,不知道为什么就是实现不了~求帮助!
程序代码:
#include <stdio.h> main(){ int a[4][4],Flag[4]; int i,j,n,sum=0; //i为行号,j为列号 for(i=1;i<=3;i++) for(j=0;j<=3;j++) //第0列为所存元素,剩下的是邻接矩阵 scanf("%d",&a[i][j]); for(i=1;i<=3;i++) //标记元素是否输出 Flag[i]=0; n=1; while(n<=3){ //n为元素个数 for(j=1;j<=3;j++) {for(i=1;i<=3;i++) sum=sum+a[i][j]; if(sum==0 && Flag[j]==0){ n++; Flag[j]=0; i=j; printf("%d-->",a[i][0]); for(j=1;j<=3;j++) a[i][j]=0; continue; } } } return 1; }