arc[i][j]=
0
i = j
举个例子:
从每一行都能看到每个顶点是和哪几个其他的顶点连接的。
自己写的一段小代码:
#include<iostream>
using namespace std;
const int vertex_max = 20;
//初始设定顶点的最大值为20
struct Graph
{
char
vertex
[
vertex_max
];
//建立顶点表
int
arc
[
vertex_max
][
vertex_max
];
//邻接矩阵
int
vertexnum
,
arcnum;
//顶点个数,边个数
};
void CreatGraph( Graph & G)
{
int
i
,
j
,
k
,
w;
//w是权值
cout
<<
"请输入顶点个数和边的个数:"
<<
endl;
cin
>>
G
.
vertexnum
>>
G
.
arcnum;
cout
<<
"请依次输入顶点的信息:"
<<
endl;
for(
i
=
0 ;
i
<G.vertexnum ; i ++)
cin>>G.vertex[i];
for( i = 0 ; i <G.vertexnum ; i ++) //初始化邻接矩阵
for(j = 0 ; j < G.vertexnum ; j ++)
{
if(i == j)
G.arc[i][j] = 0;
else
G.arc[i][j] = INT_MAX;
}
cout<<"请输入边(Vi,Vj)的下标i,j和权值:"<<endl;
cout<<endl;
cout<<" i j weight "<<endl;
for(k = 0 ; k < G.arcnum ; k ++)
{
cout<<"请输入第"<<k+1<<"条边的信息:";
cin>>i>>j>>w;
G.arc[i][j] = w;
G.arc[j][i] = G.arc[j][i];
}
cout<<"creat successful"<<endl;
}
int main()
{
Graph G;
CreatGraph(G);
}
using namespace std;
const int vertex_max = 20;
struct Graph
{
};
void CreatGraph( Graph & G)
{
}
int main()
{
}