1, 邻接矩阵:
struct MGraph { int ver[Max]; int arc[Max][Max]; int vers; int Eges; }; int Locate(MGraph G,int x) { for(int i=1;;i++) if(G.ver[i]==x) return i; } void CreateUDN_MG(MGraph &G) { cin>>G.vers>>G.Eges; for(int i=1;i<=G.vers;i++) cin>>G.ver[i]; for(int i=1;i<=G.vers;i++) for(int j=1;j<=G.vers;j++) G.arc[i][j]=-1; for(int k=0;k<G.Eges;k++) { int v1,v2,w; cin>>v1>>v2>>w; int i=Locate(G,v1); int j=Locate(G,v2); G.arc[i][j]=w; }
数据:
6 10
1 2 3 4 5 6
1 2 5
1 4 7
6 1 3
3 1 8
2 3 4
4 3 5
4 6 6
5 4 5
6 5 1
3 6 9
时间: 2024-12-14 18:21:41