首页 > 代码库 > 邻接表 数组实现
邻接表 数组实现
#include<stdio.h>int main(){ int n,m,i; int u[6],v[6],w[6]; int first[5],next[6]; //first记录每个点连接的第一边,e.g:first[u[i]]表示点u[i]能到达的第一个点 //next[i]表示编号为i的边的下一条边的编号 scanf("%d %d",&n,&m); for(i=1;i<=n;i++) first[i]=-1;//表示现在还没有边 for(i=1;i<=m;i++){//i表示变得编号 scanf("%d %d %d",&u[i],&v[i],&w[i]); next[i]=first[u[i]];//倒序记录的,先输入的为next first[u[i]]=i;//后输入的为first } printf("\n\n\n"); for(i=1;i<=n;i++){ int k=first[i]; while(k!=-1){ printf("%d %d %d\n",u[k],v[k],w[k]); k=next[k]; } } return 0;}
邻接表 数组实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。