1.1232.1233MGraph.h#ifndefMGraph_H#defineMGraph_HconstintMaxSize=10;templateclassMGraph{public:MGraph(DataTypea[],intn,inte);~MGraph(){}voidDFSTraverse(intv);voidBFSTraverse(intv);private:DataTypevertex[MaxSize];intarc[MaxSize][MaxSize];intvertexNum,arcNum;};#endifMGraph.cpp#includeusingnamespacestd;#include"MGraph.h"externintvisited[MaxSize];templateMGraph::MGraph(DataTypea[],intn,inte){inti,j,k;vertexNum=n,arcNum=e;for(i=0;i>i>>j;arc[i][j]=1;arc[j][i]=1;}}templatevoidMGraph::DFSTraverse(intv){cout<voidMGraph::BFSTraverse(intv){intQ[MaxSize];intfront=-1,rear=-1;cout<usingnamespacestd;#include"MGraph.h"externintvisited[MaxSize];templateMGraph::MGraph(DataTypea[],intn,inte){inti,j,k;vertexNum=n,arcNum=e;for(i=0;i>i>>j;arc[i][j]=1;arc[j][i]=1;}}templatevoidMGraph::DFSTraverse(intv){cout<voidMGraph::BFSTraverse(intv){intQ[MaxSize];intfront=-1,rear=-1;cout<