数据结构与算法 -- 队列 -- 链式队列

数据结构与算法 – 队列 – 链式队列

部分内容来自于<<数据结构(C语言版)>>(清华大学出版社, 严蔚敏/吴伟民 编著)

目录

  • 数据结构与算法 -- 队列 -- 链式队列
    • 定义
    • 链式队列
      • 表示
      • 初始化
      • 入队
      • 出队
      • 销毁
      • 清空
      • 判断是否为空
      • 返回长度
      • 获得队头元素
      • 遍历输出

#define TRUE 1 //正确
#define FALSE 0 //错误
#define OK 1 //执行成功
#define ERROR 0 //执行有误

#define INFEASIBLE -1 //不可执行
#define OVERFLOW -2 //溢出

typedef int Status; //函数执行的结果, 返回值为 int 类型

定义

只能在队首进行删除, 队尾进行插入的线性表
特征 : FIFO (先进先出)

数据结构与算法 -- 队列 -- 链式队列_第1张图片

从图中我们可以看出, 一个队列有一个队头和一个队尾, 入队从队尾入, 出队从队头出, 每个节点由数据域和指针域构成, 其中的每个指针域指向靠近队尾的元素

注意 : front结点的数据域是为空的, 真正有数据的头结点是 front->next

链式队列

表示

//队列

typedef int QElemType;

//链队列

typedef struct Qnode {
   
	QElemType data;
	struct Qnode* next;
}Qnode, *QueuePtr;

typedef struct {
   
	QueuePtr front;
	QueuePtr rear;
}LinkQueue;

//代码来源 <<数据结构>> (清华大学出版社出版, 严蔚敏/吴伟民 编著)

初始化

Status 

你可能感兴趣的:(数据结构与算法,指针,队列,数据结构,算法,链表)