#include<iostream>
using namespace std;
const int maxsize=10;
template<class type>
class mgraph
{
public:
mgraph(type a[],int n,int e);
~mgraph(){}
void dfstravese(int v);
void bfstravese(int v);
private:
type vertex[maxsize];
int arc[maxsize][maxsize];
int vertexnum,arcnum;
int visited[maxsize];
};
template<class type>
mgraph<type>::mgraph(type a[],int n,int e)
{
vertexnum=n;arcnum=e;
for(int i=0;i<vertexnum;i++)
visited[i]=0;
for( i=0;i<vertexnum;i++)
vertex[i]=a[i];
for(i=0;i<vertexnum;i++)
for(int j=0;j<vertexnum;j++)
arc[i][j]=0;
using namespace std;
const int maxsize=10;
template<class type>
class mgraph
{
public:
mgraph(type a[],int n,int e);
~mgraph(){}
void dfstravese(int v);
void bfstravese(int v);
private:
type vertex[maxsize];
int arc[maxsize][maxsize];
int vertexnum,arcnum;
int visited[maxsize];
};
template<class type>
mgraph<type>::mgraph(type a[],int n,int e)
{
vertexnum=n;arcnum=e;
for(int i=0;i<vertexnum;i++)
visited[i]=0;
for( i=0;i<vertexnum;i++)
vertex[i]=a[i];
for(i=0;i<vertexnum;i++)
for(int j=0;j<vertexnum;j++)
arc[i][j]=0;