邻接矩阵的存储结构以及无向网图的创建

 1 #include "stdafx.h"
 2 #include <iostream>
 3 #include <exception>
 4 #include<string>
 5 using namespace std;
 6 //邻接矩阵存储结构
 7 typedef char VertexType;
 8 typedef int EdgeType;//权值类型
 9 const int maxVex = 100;//最大顶点数
10 const int inFinity = 65535;//代表无穷大
11 typedef struct 
12 {
13     VertexType vexs[maxVex];//顶点表
14     EdgeType arc[maxVex][maxVex];//邻接矩阵
15     int numVertexes,numEdges;//图中当前顶点数和边数
16 }MGraph;
17 //建立无向网图的邻接矩阵
18 void CreateMGraph(MGraph *G)
19 {
20     int i,j,k,w;
21     cout<<"输入顶点数和边数"<<endl;
22     cin>>G->numVertexes>>G->numEdges;
23     for(i = 0;i<G->numVertexes;++i)//输入顶点信息.建立顶点表
24         cin>>G->vexs[i];
25     for(i = 0;i<G->numVertexes;i++)//邻接矩阵的初始化
26         for(j = 0;j<G->numVertexes;j++)
27             G->arc[i][j]=inFinity;
28     for(k=0;k<G->numEdges;++k)//读入numEdges条边,建立邻接矩阵
29     {
30         cout<<"输入边vi,vj上的下标i,j和权值w"<<endl;
31         cin>>i>>j>>w;
32         G->arc[i][j]=w;
33         G->arc[j][i]=G->arc[i][j];//无向图,对称
34     }
35 }
36 
37 int _tmain(int argc, _TCHAR* argv[])
38 { 
39     
40 
41     return 0 ;
42 }
原文地址:https://www.cnblogs.com/crazycodehzp/p/3545632.html