邻接表待补充
1 #include<bits/stdc++.h> 2 using namespace std; 3 #define MAXN 100501 4 struct NODE{ 5 int w; 6 int e; 7 int next; //next[i]表示与第i条边同起点的上一条边的储存位置 8 }edge[MAXN]; 9 int cnt; 10 int head[MAXN]; 11 void add(int u,int v,int w){ 12 edge[cnt].w=w; 13 edge[cnt].e=v; //edge[i]表示第i条边的终点 14 edge[cnt].next=head[u]; //head[i]表示以i为起点的最后一条边的储存位置 15 head[u]=cnt++; 16 } 17 int main(){ 18 memset(head,0,sizeof(head)); 19 cnt=1; 20 int n; 21 cin>>n; 22 int a,b,c; 23 while(n--){ 24 cin>>a>>b>>c; 25 add(a,b,c); 26 } 27 int start; 28 cin>>start; 29 for(int i=head[start];i!=0;i=edge[i].next) 30 cout<<start<<"->"<<edge[i].e<<" "<<edge[i].w<<endl; 31 return 0; 32 }
原文地址:https://www.cnblogs.com/Asurudo/p/11479215.html
时间: 2024-10-08 14:57:05