⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 graph.h

📁 数据结构清华大学出版社出版 有书上例子的源代码
💻 H
字号:
//graph.h
#ifndef GRAPH_H                  //定义头文件
#define GRAPH_H                
using namespace std;
const int MaxSize=12;  
struct ArcNode                   //定义边表结点
{
  int adjvex;                    //邻接点域
  ArcNode *next;                 //指向下一个边结点的指针
};
template <class T>
struct VertexNode               //定义顶点表结点
{
  T vertex;                     //顶点的名称
  ArcNode *firstedge;           //边表的头指针
};
template <class T>
class ALGraph
{
public:
   ALGraph(T a[ ], int n, int e);   //构造函数,初始化一个有n个顶点e条边的图
   ~ALGraph();                      //析构函数,释放邻接表中各边表结点的存储空间
   T GetVex(int i);                 //取图中第i个顶点数据信息
   void PutVex(int i, T value);     //将图中第i个顶点的数据域置为value
   void InsertVex(int i, T value);  //在图中插入一个顶点,其编号为i,值为value
   void DeleteVex(int i);           //删除图中第i个顶点
   void InsertArc(int i, int j);    //在图中插入一条边,其依附的两个顶点的编号为i和j
   void DeleteArc(int i, int j);    //在图中删除一条边,其依附的两个顶点的编号为i和j
   void DFSTraverse(int v);         //深度优先遍历图
   void BFSTraverse(int v);         //广度优先遍历图
private:
   VertexNode<T> adjlist[MaxSize];  //存放顶点表的数组
   int vertexNum, arcNum;           //图的顶点数和边数
};
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -