首页 文章 拓扑排序

拓扑排序

2022-05-09 09:25  浏览数:511  来源:Coat    

queue<int>q;
vector<int>edge[n];
for(int i=0;i<n;i++)
if(in[i]==0) q.push(i);
vector<int>ans;
while(!q.empty())
{
int p=q.front(); q.pop();
ans.push_back(p);
for(int i=0;i<edge[p].size();i++)
{
int y=edge[p][i];
in[y]--;
if(in[y]==0)
q.push(y);
}
}
if(ans.size()==n)
{
for(int i=0;i<ans.size();i++)
printf( "%d ",ans[i] );
printf("\n");
}
else printf("No Answer!\n");



声明:以上文章均为用户自行添加,仅供打字交流使用,不代表本站观点,本站不承担任何法律责任,特此声明!如果有侵犯到您的权利,请及时联系我们删除。

字符:    改为:
去打字就可以设置个性皮肤啦!(O ^ ~ ^ O)