入度为0的点入队,取出队首更新相邻点入度减一。
相邻点如果入度为0,入队。
for(int i=1;i<=n;++i)
if(!indeg[i])q.push(i);
while(!q.empty()){
int now=q.front();
cout<<now<<" ";//输出的就是拓扑序
q.pop();
for(auto i:e[now]){
indeg[i]--;
if(!indeg[i])q.push(i);
}
}