首頁 文章 拓扑排序

拓扑排序

2022-05-09 09:25  瀏覽數:495  來源: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)