vector<int> G[maxv]; //邻接表
int n,inDegree[maxv];//顶点数,入度
bool toplogicalSort()
{
int num=0; //记录顶点数
queue<int> q;
for(int i=0;i<n;i++)
{
if(inDegree[i]==0)
{
q.push(i);
}
}
while(!q.empty())
{
int u=q.front();
q.pop();
for(int i=0;i<G[u].size();i++)
{
int v=G[u][v];
inDegree[v]--;
if(inDegree[v]==0)
q.push(v);
}
num++;
}
if(num==n)
return true;
else
return false;
}
拓扑排序
最新推荐文章于 2023-06-09 10:29:54 发布