邻接矩阵
#include<iostream>
using namespace std;
#define MAX_NUM 20 //顶点的最大个数
typedef char InfoType;
typedef struct{
int no;//顶点编号
InfoType data;//顶点其他信息
}Vertex;
typedef struct{
int edges[MAX_NUM][MAX_NUM];//邻接矩阵
int vexnum,arcnum;//顶点数、弧数
Vertex vers[MAX_NUM];//存放顶点信息
}MGraph;
void CreateGraph(MGraph *G)
{
int v1,v2;
cout<<"输入顶点数和边数:"<<endl;
cin>>G->vexnum>>G->arcnum;
cout<<"输入顶点信息:"<<endl;
for(int k=0;k<G->vexnum;k++)
{
G->vers[k].no=k;
cin>>G->vers[k].data;
}
for(int i=0;i<G->vexnum;i++)
for(int j=0;j<G->vexnum;j++)
G->edges[i][j]=0;
cout<<"输入弧的顶点信息:"<<endl;
for(int n=0;n<G->arcnum;n++)
{
cin>>v1>>v2;
G->edges[v1][v2]=1;
}
}
void main()
{
MGraph *G=NULL;
CreateGraph(G);
}