先粘贴上邻接矩阵的实现代码:
#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstdlib>
using namespace std;
typedef struct LinJieBiao{
int n,e;//表示邻接矩阵的顶点个数和边数
char vexs[1000];//存储顶点的信息
int edge[100][100];// 存储边的权的信息;
}STU;
/*
比如有向图第五个节点和第三个节点的边长度为3.那么我们可以这样设置
edge[4][2]=3;
或者无向图:edge[4][2]=edge[2][4]=3;
*/
int main()
{
int i,j,k,w;
STU G;
cin>>G.n>>G.e;//输入顶点数和边数
for(i=0;i<G.n;i++)
G.vexs=getchar();//读入顶点信息
for(i=0;i<G.n;i++)
for(j=0;j<G.n;j++)
G.edge[i][j]=0; //边权数组初始化
for(k=0;k<G.e;k++){
cin>>i>>j>>w;
G.edge[i][j]=w;
}//读入每个边的权值
}
建议看一下严蔚敏的数据结构,再配合这段代码,一目了然!