void tpsort()
{
int i,u;
queue<int>que;
for(i=1;i<=count;i++)
{
if(in[i]==0)
que.push(i); //将入度为0的顶点加入队列
}
while(!que.empty())
{
u=que.front();
que.pop()
printf("%d ",u); //打印拓扑排序后的序列
for(i=0;i<dag[u].size();i++)
{
int v=dag[u][i];
if(--in[v]==0)
que.push(v);
}
}
}
拓扑排序模板
最新推荐文章于 2022-02-21 20:08:01 发布