/////////////////////////////////////////////////
//DFS()私有成员函数
//递归:深度优先遍历图所有结点,start是起始结点
/////////////////////////////////////////////////
template<class T,class E>
void Graphlink<T,E>::DFS(int start)
{
cout<<getValue(start)<<" "; //访问当前的起始结点
visited[start]=true; //把对应的访问标志置为"已访问"
int p=getFirstNeighbor(start); //获取start的第一个邻接结点
while(p!=-1) //递归访问start的所有邻接结点
{
if(visited[p]==false) //如果neighbor没有被访问过
DFS(p); //以neighbor为当前结点继续递归访问
p=getNextNeighbor(start,p); //获取下个邻接结点的结点号
};
};
////////////////////////////DFS()私有成员函数结束
//DFS()私有成员函数
//递归:深度优先遍历图所有结点,start是起始结点
/////////////////////////////////////////////////
template<class T,class E>
void Graphlink<T,E>::DFS(int start)
{
cout<<getValue(start)<<" "; //访问当前的起始结点
visited[start]=true; //把对应的访问标志置为"已访问"
int p=getFirstNeighbor(start); //获取start的第一个邻接结点
while(p!=-1) //递归访问start的所有邻接结点
{
if(visited[p]==false) //如果neighbor没有被访问过
DFS(p); //以neighbor为当前结点继续递归访问
p=getNextNeighbor(start,p); //获取下个邻接结点的结点号
};
};
////////////////////////////DFS()私有成员函数结束