数据结构类型定义及基本操作汇总(三)--图的表示
2007-06-04 14:14
519 查看
图的三种基本表示: 邻接表,邻接矩阵和十字链表
//邻接表
#define Infinity INT_MAX
#define Max_Vertex_Num 20
typedef enum {DG,DN,AG,AN} GraphKind;
typedef struct ArcCell {
int arcweight;
//char *info;
}ArcCell, AdjMatrix[Max_Vertex_Num][Max_Vertex_Num];
typedef struct {
int vexs[Max_Vertex_num];
AdjMatrix arcs;
int vexnum,arcnum;
Graphkind kind;
}
//邻接矩阵
#define Max_Vertex_Num 20
typedef struct ArcNode{
int NodeNum;
int weight;
struct ArcNode *NextArc;
};
typedef struct VNode{
int vexdata;
struct ArcNode *firstarc;
} ArcList[Max_Vertex_Num];
typedef struct VArc{
ArcList VArray;
int VerNum,ArcNum;
GraphKind DG;
}AGraph;
//十字链表
typedef struct ArcNode{
int TailNodeNum,HeadNodeNum;
struct ArcNode *HeadNode,*TailNode;
int weight;
};
//邻接表
#define Infinity INT_MAX
#define Max_Vertex_Num 20
typedef enum {DG,DN,AG,AN} GraphKind;
typedef struct ArcCell {
int arcweight;
//char *info;
}ArcCell, AdjMatrix[Max_Vertex_Num][Max_Vertex_Num];
typedef struct {
int vexs[Max_Vertex_num];
AdjMatrix arcs;
int vexnum,arcnum;
Graphkind kind;
}
//邻接矩阵
#define Max_Vertex_Num 20
typedef struct ArcNode{
int NodeNum;
int weight;
struct ArcNode *NextArc;
};
typedef struct VNode{
int vexdata;
struct ArcNode *firstarc;
} ArcList[Max_Vertex_Num];
typedef struct VArc{
ArcList VArray;
int VerNum,ArcNum;
GraphKind DG;
}AGraph;
//十字链表
typedef struct ArcNode{
int TailNodeNum,HeadNodeNum;
struct ArcNode *HeadNode,*TailNode;
int weight;
};
相关文章推荐
- 数据结构类型定义及基本操作汇总(一)--线性表,单链表,栈和队列
- 数据结构类型定义及基本操作汇总(二)-- 二叉树及其遍历
- C语言版数据结构中顺序表的基本操作定义和初始化
- 对Java中基本整数数据类型的各种操作及表示方式
- bo2-31.cpp 一个数组只生成一个静态链表(数据结构由c2-3.h定义)的基本操作(11个))
- 数据结构复习-线性表的定义和基本操作
- 数据结构:栈的定义与基本操作
- 二叉树的基本操作(定义、遍历、高度、生成)【数据结构】
- bo2-32.cpp 一个数组可生成若干静态链表(数据结构由c2-3.h定义)的基本操作(12个)
- 用C语言定义Bool类型(包括数据表示和操作实现),至 少包含and(与)、or(或)、not(非)、equiv(相等)这4个操作。
- C++中预定义的运算符的操作对象只能是基本的数据类型
- 用C语言定义Bool类型(包括数据表示和操作实现),至 少包含and(与)、or(或)、not(非)、equiv(相等)这4个操作。
- java基本类型(数值范围):浮点的底层表示定义,float计算快一些
- 数据结构之队列定义及基本操作实现
- java基本类型(数值范围):浮点的底层表示定义,float计算快一些
- 数据结构之链表定义及基本操作实现
- 【郝斌数据结构自学笔记】16-23_链表的定义与分类_链表节点插入与删除_每一个链表节点的数据类型该如何表示的问题
- 数据结构_图_定义/分类/顶点与边之间的关系/连通图/存储结构/基本操作
- bo2-1.cpp 顺序表示的线性表(存储结构由c2-1.h定义)的基本操作(12个)