/*
*顺序储存有向图邻接矩阵
*定义一个边的权值的二维数组
*定义一个点的一维数组
*创建一个邻接矩阵
*输出这个邻接矩阵
*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define MAXVERTEX 100//顶点数
#define ERROR 0
#define OK 1
typedef char * VertexType;//顶点数据类型
typedef int ArcType;//权值数据类型
typedef int Statu;//返回值的数据类型
typedef enum{
DG,//有向图
UDG,//无向图
DN,//有向网
UDN//无向网
}GraphKind;//图的枚举类型
typedef struct
{
VertexType vertex[MAXVERTEX];//点的一维数组
ArcType arcs[MAXVERTEX][MAXVERTEX];//权值的二维数组
int vertexcount;//点数
int arccount;//边数
GraphKind kind;//图的类型
}Mtrix_Graph;//图的结构体类型
Statu create_matrixgraph(Mtrix_Graph*G);//创建邻接矩阵
void test();//测试函数
int locate_graph(Mtrix_Graph*G,VertexType vex);//返回名称在数组中的下标(定位函数)
void main()
{
test();//测试函数
}
Statu create_matrixgraph(Mtrix_Graph*G)//创建邻接矩阵
{
G->kind=UDG;//表明是无向图 (UDG代表有向图)
int i;
int j;
int x,y;
printf("输入图的顶点数:");
scanf("%d",&G-&