#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
#define MAXN 100
int n,m;
struct edge{
int weight;
int next;
int to;
}edges[MAXN];
int head[MAXN];
int cnt=0;
//顶点从1开始,边从1开始
void Init(){//初始化
for(int i=1;i<=m;i++)
edges[i].next=0;
for(int i=1;i<n;i++)
head[i]=0;
return;
}
void Add(int x,int y,int w){//加边
cnt++;
edges[cnt].to=y;
edges[cnt].weight=w;
edges[cnt].next=head[x];
head[x]=cnt;
}
int main(){
int x,y,w,u;
cin>>n>>m;
Init();
for(int i=1;i<=m;i++){
cin>>x>>y>>w;
Add(x,y,w);//默认有向图 无向图需要两条边都加上
}
//遍历顶点u的所有边
for(int i=head[u];i;i=edges[i].next){
}
}
图的存储之前向星
最新推荐文章于 2023-07-29 17:46:16 发布