图的表示

图的数组表示法

组成

顶点数组vexs
邻接矩阵arcs
顶点数
图的类型
弧(数)

结构代码

typedef struct{
    vertextype vexs[maxsize];
    vrtype arc[maxsize][maxsize];
    int vexnum,arcnum;
    }Mgraph;

邻接表表示法
为图G的每一个顶点建立一个单链表,第i个单链表中的结点表示依附于顶点v1的边

结构代码

typedef struct ArcNode{     //表结点类型定义,对网需要加权值属性
    int adjvex;             //顶点位置编号
    struct ArcNode *next;   //下一个表结点指针
    infotype *info;
    }ArcNode;

typedef struct VNode{       //头结点及其数组类型定义
        Vertextype data;    //顶点信息
        ArcNode *firstarc;    //指向第一条弧
        }VNode ,AdjList[maxsize];


typedef struct {            //邻接表的类型定义
    AdjList vertices;        //头结点数组
    int vexnum,arcnum;        //顶点数、弧数
    }ALGraph;
Fork me on GitHub