#include<iostream>
using namespace std;
typedef char vertextype;
typedef int edgetype;
#define maxvex 100
#define infinity 1000
class MGraph{
public:
vertextype vexs[maxvex];
edgetype arc[maxvex][maxvex];
int numvertexs,numedges;//图的顶点数目和图的边的数目
MGraph(const int &v,const int &e):numvertexs(v),numedges(e){}
void creategraph();//创建图结构
void displaygraph();//显示图的结构
};
void MGraph::creategraph()
{ cout<<"下面请输入顶点的元素类型值,输入的个数为"<<numvertexs<<endl;
for(int i=0;i<numvertexs;++i)
{
cin>>vexs[i];
}
cin.clear();
cout<<"下面请为邻接矩阵赋值,矩阵的大小为:"<<numvertexs<<"*"<<numvertexs<<endl;
for(int i=0;i<numvertexs;++i)
{
for(int j=0;j<numvertexs;++j)
{
cin>>arc[i][j];
}
}
}
void MGraph::displaygraph()
{ cout<<"下面输出的是顶点中的元素"<<endl;
for(int i=0;i<numvertexs;++i)
{
cout<<vexs[i]<<" ";
}
cout<<endl;
for(int i=0;i<numvertexs;++i)
{
for(int j=0;j<numvertexs;++j)
{
cout<<arc[i][j]<<'\t';
}
cout<<endl;
}
}
int main()
{ MGraph G(4,5);
G.creategraph();
G.displaygraph();
system("pause");
return 0;
}
数据结构中图的邻接矩阵表示方法
最新推荐文章于 2022-05-13 20:58:14 发布