#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
#define MAXN 100000
#define MAXM 10000
int u[MAXM],v[MAXM],w[MAXM];//存边的信息
int first[MAXN],nextEdge[MAXM];//first存顶点的第一条边 //nextEdge存边的下一条边
int n,m;
int cnt;
//设边和顶点均从1开始存储
void Init(){//建图初始化
cnt=0;
memset(first,0,sizeof(first));
memset(nextEdge,0,sizeof(nextEdge));
}
void Add(int x,int y,int z){//存边
cnt++;
u[cnt]=x;
v[cnt]=y;
w[cnt]=z;
nextEdge[cnt]=first[x];
first[x]=cnt;
}
int main(){
int x,y,z;
int start;
cin>>n>>m;
Init();
for(int i=1;i<=m;i++){
cin>>x>>y>>z;
Add(x,y,z);
Add(y,x,z);
}
/*
for(int i=1;i<=n;i++){
cout<<i<<':';
for(int j=first[i];j;j=nextEdge[j]){
cout<<' '<<v[j];
}
cout<<endl;
}*/
return 0;
}形式和前向星差不多
邻接表的数组实现
最新推荐文章于 2021-08-24 17:49:45 发布

2406

被折叠的 条评论
为什么被折叠?



