假设我们要创建一个无向图的邻接矩阵
#include<iostream>
#define OK 1
#define ERROR 0
#define MaxNum 100 //最大顶点数
typedef char VexType; //顶点数据类型为char型
typedef int VarType; //边的数据类型为int型
typedef int Status;
using namespace std;
struct DIAgram{
VexType vexs[MaxNum]; //顶点数组
VarType vars[MaxNum][MaxNum]; //邻接矩阵
int vexnum,arcnum; //图的总顶点数和总边数
};
int place(DIAgram G,char v)
{
for(int i=0;i<G.vexnum;i++)
{
if(G.vexs[i]==v) //返回顶点下标
return i;
}
return ERROR;
}
Status CreateUDG(DIAgram &G)
{
int i,a,b;char v1,v2;
cin>>G.vexnum>>G.arcnum; //输入图的总顶点数和总边数
for(i=0;i<G.vexnum;i++)
{
cin>>G.vexs[i]; //输入每个顶点的信息
for(int j=0;j<G.vexnum;j++)
G.vars[i][j]=0; //矩阵的每个元素即边初始化为0
}
for(i=0;i<G.arcnum;i++)
{
cin>>v1>>v2; //输入一条边两头的的两个顶点
a=p