码迷,mamicode.com
首页 > 其他好文 > 详细

邻接表模板

时间:2017-04-08 19:02:29      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:线性   iostream   pac   oid   pre   链表   code   for   --   

l邻接表的处理方法是这样:
l图中顶点用一个一维数组存储,当然,顶点也可以用单链表来存储,不过数组可以较容易地读取顶点信息,更加方便。
l图中每个顶点Vi的所有邻接点构成一个线性表,由于邻接点的个数不确定,所以我们选择用单链表来存储。
 
 1 #include<iostream>
 2 using namespace std;
 3 struct node
 4 {
 5     int u;
 6     int v;
 7     int w;
 8     int next;
 9 }a[10001];
10 int head[1001];
11 int num=1;
12 void f(int p,int b,int c)
13 {
14     a[num].u=p;
15     a[num].v=b;
16     a[num].w=c;
17     a[num].next=head[p];
18     head[p]=num++;
19 }
20 int main()
21 {
22     int n,m;
23     cin>>n>>m;
24     for(int i=1;i<=n;i++)
25     head[i]=-1;
26     for(int i=1;i<=m;i++)
27     {
28         int p,b,c;
29         cin>>p>>b>>c;
30         f(p,b,c);
31     }
32     
33     cout<<"****************************"<<endl;
34     for(int k=1;k<=n;k++)
35     {
36         int i=head[k];    
37         cout<<"k:";
38         while(i!=-1)
39         {
40             cout<<"-->"<<a[i].v;
41             i=a[i].next;
42         }
43         cout<<"-->"<<-1<<" ";
44         cout<<endl;
45     }
46 
47     return 0;
48 }

 

邻接表模板

标签:线性   iostream   pac   oid   pre   链表   code   for   --   

原文地址:http://www.cnblogs.com/zwfymqz/p/6682261.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!