首页 > 代码库 > 数据结构中图的邻接矩阵表示方法

数据结构中图的邻接矩阵表示方法

#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;
}

数据结构中图的邻接矩阵表示方法