数据结构常用头文件之类型定义

落花浮王杯 提交于 2020-03-14 11:15:30

header.h

复制代码
// 顺序表的结构定义
#define Maxsize 100
//const int Maxsize = 100; // 预先定义一个足够大的常数

typedef struct
{
    int data[Maxsize]; // 存放数组的数组
    int length; // 顺序表的实际长度
}SeqList; // 顺序表类型名为SeqList

// SeqList L 定义L为一个顺序表
复制代码

 

Linear.h

复制代码
// 单链表的类型定义
typedef struct node
{
    int data; // 数据域
    struct node *next; // 指针域
}Node, *LinkList;

// 双向循环链表的类型定义
struct dbnode
{
    int data;
    struct dbnode *prior, *next;
}
typedef struct dbnode *dbpointer;
typedef dbpointer DLinkList;
复制代码

 

Seqstack.h

复制代码
#define maxsize 6
//const int maxsize = 6;

// 顺序栈

typedef struct seqstack
{
    int data[maxsize];
    int top; // 标志栈顶位置的变量
}SeqStk;
复制代码

 

Lkstack.h

复制代码
// 链栈的定义
typedef struct node
{
    int data;
    struct node *next;
}LkStk;
复制代码

 

SeqQue.h

复制代码
// 顺序队列类型(普通队列和循环队列类型定义都一样,都如下:)

#define maxsize 20
//const int maxsize = 20;

typedef struct seqque
{
  int data[maxsize];
  int front, rear;
}SeqQue;

typedef struct cycque
{
  int data[maxsize];
  int front, rear;
}CycQue;

复制代码

 

LkQueue.h

复制代码
// 链队列类型定义
typedef struct LinkQueueNode
{
    int data;
    struct LinkQueueNode *next;
}LkQueNode
typedef struct LkQueue
{
    LkQueNode *front, *rear;
}LkQue;
复制代码

 

BinTree.h

复制代码
// 二叉链表的类型定义
typedef struct btnode
{
    int data;
    struct btnode *lchild, *rchild; // 指向左右孩子的指针
}*BinTree;

// 三叉链表的类型定义
typedef struct ttnode
{
    int data;
    struct ttnode *lchild, *parent, *rchild;
}*TBinTree;
复制代码

 

 

 

Graph.h

复制代码
#define vnum 20

// 邻接矩阵
typedef struct gp
{
    int vexs[vnum]; // 顶点信息
    int arcs[vnum][vnum]; // 邻接矩阵
    int vexnum, arcnum; // 顶点数,边数
}Graph;
复制代码

 

 

Graphlk.h

复制代码
#define vnum 20

// 邻接表的类型定义

// 表结点
typedef struct arcnode
{
    int adjvex; // 下一条边的顶点编号
    int weight; // 权值
    struct arcnode *nextarc;
}ArcNode;

// 表头结点
typedef struct vexnode
{
    int vextex; // 顶点编号
    ArcNode *firstarc; // 指向第一条边的指针
}AdjList[vnum];

typedef struct gp
{
    AdjList adjlist;
    int vexnum, arcnum; // 顶点和边数
}Graph;
复制代码

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!