topsort 是对有向图的排序;
#include<queue>//这个是判断环的 要求拓扑序的话就在其中加上计数的部分。 using namespace std; priority_queue<int> Q; bool topsort() { for(int i=1;i<=n;i++) { if(indegree[i]==0) Q.push(i); } int count=0; while(!Q.empty()) { int x=Q.top();Q.pop(); count++; for(int i=1;i<=n;i++) { if(map[x][j]==1) { indegree[i]--; if(indegree[i]==0) { Q.push(i); } } } } if(count==n) return 1; else return 0; }