⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 图的邻接矩阵和遍历.txt

📁 图的邻接矩阵和遍历 一.问题描述 构造一图
💻 TXT
字号:
# include <iostream.h>
const int max=10;             //定义顶点个数的最大值为10
class Graph
{private:
         int v1[max];          //存放顶点值的一维数组
		  int e1[max][max];     //存放边信息的邻接矩阵
		  int vNum,eNum;        //vnum存放顶点个数,enum存放边的个数
public:
	     Graph(int a[],int n,int e);
		 void DFST(int v);       //深度遍历
};
Graph::Graph(int a[],int n,int e)//邻接矩阵构造函数
{vNum=n;
 eNum=e;
 for(int i=0;i<vNum;i++)   v1[i]=a[i];
 for(int j=0;j<vNum;j++)         //初始化邻接矩阵
	 for(int t=0;t<vNum;t++)  
		 e1[j][t]=0;
	 int p,b;
for(int k=0;k<eNum;k++)
{cout<<"第"<<k+1<<"条边"<<'\n';
cin>>p>>b;                       //边依附的两个顶点的序号
e1[p][b]=1;                      //无向图的邻接矩阵是对称的
e1[b][p]=1;
}
}
void Graph::DFST(int v)          //深度优先遍历算法
{   int visited[max];            //给已经遍历过的顶点作标记
	cout<<v1[v];
    visited[v]=1;
	for(int i=0;i<vNum;i++)
		if(e1[v][i]==1&&visited[i]==0)  
			DFST(i);
}
void main()
{
int v;int e;int t;
 cout<<"输入图的顶点数和边数"<<'\n';
 cin>>v>>e;
 int a[max];
 cout<<"输入顶点序号"<<'\n';
 for(int i=0;i<v;i++)
	 cin>>a[i];
 cout<<"邻接矩阵的构造函数"<<'\n';
Graph k(a,v,e);
 cout<<"请输入深度优先搜索开始访问的顶点"<<'\n';
 cin>>t;
 k.DFST(t);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -