zoukankan      html  css  js  c++  java
  • 邻接表基础常用模板

    #define MAX_VEX 10//最大顶点数
    typedef int InfoType;
    typedef char VexType;//顶点的类型
    typedef int WeightType;//权值的类型

    图的种类(有向图、无向图、加权有向图、加权无向图),采用枚举法(这一段可以选择性不写)

    typedef enum
    {
        DG = 1, AG, WDG, WAG//有向图  无向图  带权有向图  带权无向图
    }GraphKind;

    邻接表的前半部分是顺序表,所以定义一个顺序表的结构体

    typedef struct VexNode
    {
        VexType data;//顶点的值
        int indegree;//顶点的度
        LinkNode *firstarc;//指向第一个表节点,有向图是入度或出度或没有
    }VexNode;//顶点节点类型定义

    邻接表后半部分是链表,所以定一个链表的结构体

    typedef struct LinkNode
    {
        int adjvex;//邻接点在头结点数组中的位置(下标)
        InfoType info;//节点信息   如权值
        struct LinkNode *nextarc;//指向下一个表节点
    }LinkNode;

    接下来定义图的结构体

    typedef struct
    {
        GraphKind kind;
        int vexnum;//顶点的个数
        VexNode AdjList[MAX_VEX];//头结点的类型的数组
    }ALGraph;

    over

  • 相关阅读:
    String类的常用方法
    StringBuffer和String的区别
    docker安装kali
    6.找素数
    5.三羊献瑞
    4.迷宫大逃亡
    3.百米
    2.后台登录
    1.猴子吃桃
    深入理解Docker容器和镜像
  • 原文地址:https://www.cnblogs.com/vocaloid01/p/9514119.html
Copyright © 2011-2022 走看看