链式前向星模板

手动邻接表,据说比vector快了超多,在这里存一份模板= =。

代码:

 1 struct node{
 2     int to,next,w;
 3 }edge[N];
 4 
 5 int n,m;//n为结点数 
 6 int idx,head[N];
 7 //初始化
 8 void init(){
 9     idx=1;
10     memset(head,-1,sizeof(head));
11 }
12 //添加边 
13 void addEdge(int u,int v,int w){
14     edge[idx].to=v;
15     edge[idx].w=w;
16     edge[idx].next=head[u];
17     head[u]=idx; 
18     idx++;
19 }
20 //链式前向星的遍历
21 for(int i=1;i<=n;i++){
22     for(int j=head[i];j!=-1;j=edge[j].next){
23         cout<<i<<" "<<edge[j].to<<endl;
24     }
25 }

 

posted @ 2017-11-20 21:55  Yeader  阅读(268)  评论(0编辑  收藏  举报