#include<iostream>
using namespace std;
const int maxsize=10;
int visited[maxsize]={0};//全局数组变量visited初始化
template<class T>
class mgraph
{
public:
mgraph(T a[],int n,int e);//建立具有n个顶点e条边的图
~mgraph(){}
void DFSTraverse(int v);//深度优先遍历图
void BFSTraverse(int v);//广度优先遍历图
void next();//输出邻接点
private:
T vertex[maxsize];//存放图中顶点的数组
int arc[maxsize][maxsize];//存放图中边的数组
int vertexnum,arcnum;//图的顶点数和边数
};
template<class T>
mgraph<T>::mgraph(T a[],int n,int e)
{
int i,j,k;
vertexnum=n;arcnum=e;
for(i=0;i<vertexnum;i++)//存储图的顶点信息
vertex[i]=a[i];
for(i=0;i<vertexnum;i++)//初始化图的邻接矩阵
for(j=0;j<vertexnum;j+&#