博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
拓扑排序模板
阅读量:6607 次
发布时间:2019-06-24

本文共 905 字,大约阅读时间需要 3 分钟。

#include 
#include
#include
#include
#include
using namespace std;const int maxn = 20010;//ip表示第几条边//indeg表示入度int head[maxn], ip, indeg[maxn];int n, m, seq[maxn];//seg表示要干的事struct note{ int v,next;} edge[maxn];void Init(){ memset(head, -1, sizeof(head)); memset(indeg, 0, sizeof(indeg)); ip = 0;}void addedge(int u, int v)//增加边,u是初始点,v是终点{ edge[ip].v = v; edge[ip].next = head[u]; head[u] = ip++;}int topo()//拓扑排序{ queue
q; for(int i=1; i<=n; i++) if(indeg[i] == 0) q.push(i); int k = 0; bool res = false; while(!q.empty()) { if(q.size() != 1) res = true; int u = q.front(); q.pop(); k++; for(int i=head[u]; i!=-1; i=edge[i].next) { int v = edge[i].v; indeg[v]--; if(indeg[v] == 0) { //seq[v] = seq[u]+1; q.push(v); } } } if(k < n) return -1;//No if(res) return 0;//Only return 1;//正常}

转载地址:http://gzdso.baihongyu.com/

你可能感兴趣的文章
如何使版面富有节奏感
查看>>
rabbitmq 管理及常用命令
查看>>
iphone导航控制器的开发与使用
查看>>
debian python library re-install
查看>>
如何用转义来给JS添加的input元素设置单引号
查看>>
J2E——网络编程练习
查看>>
VirtualBox移植
查看>>
HTTP要被抛弃? 亚洲诚信携手宝塔开启HTTPS加密快速通道
查看>>
Chrome: 完全移除对WoSign和StartCom证书的信任
查看>>
RecyclerView侧滑删除功能
查看>>
记一个hystrix异常
查看>>
9.02-Spring IOC 容器中Bean的生命周期
查看>>
6.6 tar打包
查看>>
微信自动抢红包的实现(Demo已增加查看TopActivity功能)
查看>>
Spring MVC核心技术
查看>>
TCP协议如何保证传输的可靠性
查看>>
Spring Cloud云架构 - SSO单点登录之OAuth2.0 登出流程(3)
查看>>
编程之美 测试赛 石头剪刀布
查看>>
签名问题
查看>>
软件开发各阶段交付物列表
查看>>