邻接表模版c+

来源:互联网 发布:淘宝卖家客服态度恶劣 编辑:程序博客网 时间:2024/05/17 23:04
#include<stdio.h>#include<string.h>int h[602],b;struct st{int next,v,s;}st[100000];void init(){b=1;memset(h,0,sizeof(h));}void add(int ne,int v,int s){st[b].v=v;st[b].s=s;st[b].next=h[ne];h[ne]=b++;/*st[b].v=ne;st[b].s=0;st[b].next=h[v];h[ne]=b++;*/}void cx(int x){int i;printf("%d\n",h[x]);for(i=h[x];i!=0;i=st[i].next){printf("%d %d %d\n",x,st[i].v,st[i].s);      }}int main(){int a;scanf("%d",&a);init();while(a--){int m,n,z;scanf("%d%d%d",&m,&n,&z);add(m,n,z);}cx(1);return 0;}

主要是查找从一个点出发到所有点的有路的点。。所以要把前点相同的边连在一起。。。
	
				
		
原创粉丝点击