文档介绍:#ifndefMGraph_H#defineMGraph_HconstintMaxSize=10;template<classDataType>classMGraph{public: MGraph(DataTypea[],intn,inte); ~MGraph(){ } voidDFSTraverse(intv); voidBFSTraverse(intv);private: DataTypevertex[MaxSize]; intarc[MaxSize][MaxSize]; intvertexNum,um;};##include<iostream>usingnamespacestd;#include""externintvisited[MaxSize];template<classDataType>MGraph<DataType>::MGraph(DataTypea[],intn,inte){ inti,j,k; vertexNum=n,um=e; for(i=0;i<vertexNum;i++) vertex[i]=a[i]; for(i=0;i<vertexNum;i++) for(j=0;j<vertexNum;j++) arc[i][j]=0; for(k=0;k<um;k++) { cout<<"Pleaseentertwovertexsnumberofedge:"; cin>>i>>j; arc[i][j]=1; arc[j][i]=1; } }template<classDataType>voidMGraph<DataType>::DFSTraverse(intv){ cout<<vertex[v]; visited[v]=1; for(intj=0;j<vertexNum;j++) if(arc[v][j]==1&&visited[j]==0) DFSTraverse(j);}template<classDataType>voidMGraph<DataType>::BFSTraverse(intv){ intQ[MaxSize]; intfront=-1,rear=-1; cout<<vertex[v]; visited[v]=1; Q[++rear]=v; while(front!=rear) { v=Q[++front]; for(intj=0;j<vertexNum;j++) if(arc[v][j]==1&&visited[j]==0){ cout<<vertex[j]; visited[j]=1; Q[++rear]=j; } }}#include<iostream>usingnamespacestd;#include""externintvisited[MaxSize];template<classDataType>MGraph<DataType>::MGraph(DataTypea[],intn,inte){ inti,j,k;