資源簡介
定義采用鄰接矩陣存儲的圖結構封裝DFS、BFS算法
代碼片段和文件信息
#include?
#define?MAXSIZE?100??//設置最大頂點數(shù)
#include?
using?namespace?std;
typedef?queue?QUEUE;
template???//定義一個圖的類模板
class?Graph
{
public:
void?CreateGraph(T?a[]int?nint?e);?//創(chuàng)建圖的鄰接矩陣
void?DFS(int?v);???//深度優(yōu)先搜索函數(shù)
void?BFS(int?v);
int?locate(T?xT?a[]int?n);?//查找輸入頂點在頂點數(shù)組中的位置
private:
T?vertex[MAXSIZE];??//頂點集
int?arc[MAXSIZE][MAXSIZE];?//鄰接矩陣
int?vNumarcNum;?//頂點數(shù),邊數(shù)
};
template
int?Graph::locate(T?xT?a[]int?n)
{
for(int?i=0;i {
??if(x==a[i])
???return?i;
??
}
}
template
void?Graph::CreateGraph(T?a[]int?nint?e)
{
int?ijk;
T?v1v2;
vNum=n;
arcNum=e;
for(i=0;i ??vertex[i]=a[i];
for(i=0;i {
??for(j=0;j ???arc[i][j]=0;?//初始化鄰接矩陣
}
for(k=0;k {
??cin>>v
- 上一篇:定義二叉搜索樹類封裝查找、插入、刪除操作
- 下一篇:LR語法分析
評論
共有 條評論