C语言如何实现拓扑排序

这篇文章主要介绍C语言如何实现拓扑排序,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

成都创新互联公司致力于互联网品牌建设与网络营销,包括成都网站建设、网站设计、SEO优化、网络推广、整站优化营销策划推广、电子商务、移动互联网营销等。成都创新互联公司为不同类型的客户提供良好的互联网应用定制及解决方案,成都创新互联公司核心团队十年专注互联网开发,积累了丰富的网站经验,为广大企业客户提供一站式企业网站建设服务,在网站建设行业内树立了良好口碑。

  • 拓扑排序

    以入度为0的做起点
    vector top_sort(){
    priority_queue ,greater >Q;
    for(int i=1;i<=n;i++){
        if(!indeg[i]){
            Q.push(i);
        }
    }
    std::vector TOP;
    while(!Q.empty()){
        int T=Q.top();
        Q.pop();
        indeg[T]=-1;
        TOP.push_back(T);
        for(auto &e:graph[T]){
            indeg[e]--;
            if(indeg[e]==0)Q.push(e);
        }
    }return TOP;
    }
    }

以上是“C语言如何实现拓扑排序”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


标题名称:C语言如何实现拓扑排序
标题链接:http://azwzsj.com/article/ijddig.html