首页 > 代码库 > 邻接表模板
邻接表模板
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 }
邻接表模板
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。