数据结构与算法C语⾔所有头⽂件汇总——持续更新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;
  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
c语言struct头文件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
// 邻接表的类型定义
/
/ 表结点
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;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。