
题目
深度优先
解决代码及点评
// 深度优先.cpp : 定义控制台应用程序的入口点。
//
// 图的邻接表表示.cpp : 定义控制台应用程序的入口点。
//
#include <iostream>
#include <stack>
#include <queue>
#include <array>
using namespace std;
template<class T>
class EdgeNode
{
public:
T adjvex;
EdgeNode *pnext;
};
template<class T>
class Graph
{
public:
Graph();
~Graph();
void CreatALGraph();
void BFSTraverse();
void DFSTraverse();
private:
EdgeNode<T> *adjlist[100]; //数组
int n; //顶点数
int e; //边数
};
template<class T>
Graph<T>::Graph()
{
//adjlist = new EdgeNode<T>;
}
template<class T>
Graph<T>::~Graph()
{
}
template<class T>
void Graph<T>::DFSTraverse()
{
stack <EdgeNode<T>> s;
i