graph_input.h

来自「数据结构与算法设计学习得素材」· C头文件 代码 · 共 48 行

H
48
字号
//---------------------------------------------------------------------------
#ifndef GRAPH_INPUT_H_
#define GRAPH_INPUT_H_
//---------------------------------------------------------------------------
const int maxV=20, maxE=20;      // 最大顶点数, 最大边数

// 邻接链表的输入类(不带权值)
template <class T>
class graphInfo {
    public:
       bool directedGraph;         // 若为true,则为有向图;若为false,则为无向图
       int numV, numE;             // 图的实际顶点数、边数
       T vexs[maxV];               // 顶点数据的数组
       struct {
          T v1,v2;
       } edges[maxE];              // 不带权值的边的数组
};

// 带权值邻接链表的输入类
template <class T,class T1>
class EdgeNode {                  // 定义边结点类
    public:
       T v1,v2;                   // 起始顶点和终止顶点
       T1 cost;                   // 边的权值
};
// 顶点结点类,用于表示带权值邻接链表的头结点或其它结点
template <class T,class T1>
class VertexNode {
    public:
       T v;                       // 顶点
       union {
         int id;                  // 该顶点的入度
         T1 cost;                 // 指向或依附该顶点的边的权值
       };
};

// 基于权值邻接链表的网络的输入类
template <class T,class T1>
class weightedgraphInfo
{
    public:
       graphInfo<T> graph;        // 图信息
       T1 edgesCost[maxE];        // 边的权值数组

};
#endif

⌨️ 快捷键说明

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