#include <stdio.h>
#include <stdlib.h>
#define TRUE 1
#define FALSE 0
#define INFINITY 1000 //最大值
#define M 20 //最大顶点数
typedef char VertexType; //顶点类型设为字符型
typedef int EdgeType; //边的权值设为整形
enum GraphType { DG, UG, DN, UN};//有向图,无向图,有向网图,无向网图
typedef struct {
VertexType Vertices[M];//顶点表
EdgeType Edges[M][M];//邻接矩阵,即边表
int n,e ;//顶点数n和边数e
enum GraphType Gtype;//图的类型分4种:UG、DG、UN、DN、
}MGraph;//MGragh是以邻接矩阵存储的图类型
bool Visited[200];
void CreateMGraph(MGraph *G)
{
int i, j, k, w;
G->Gtype = UN; //Undirected Network 无向图
printf("请输入顶点数和边数(输入格式为:顶点数,边数):\n");
scanf("%d, %d", &(G->n), &(G->e));//输入顶点和边数
printf("请输入顶点信息(输入格式为:顶点号<CR>):\n");
for(i = 0; i < G->n; i++)
scanf(" %c", &(G ->Vertices[i]));//输入顶点信息,建立顶点表
for(i = 0; i< G->n; i++)
for(j = 0; j< G->n; j++)
G->Edges[i][j] = INFINITY;//初始化邻接矩阵
printf("请输入每条边对应的两个顶点的序号和权值,输入格式为;i, j, w:\n");
for(k = 0; k < G->e; k++)
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余2页未读,立即下载