队列
来源:互联网 发布:隐形轰炸机 知乎 编辑:程序博客网 时间:2024/04/29 13:21
第4章 队列
4-1 队列的定义和基本运算
4-1-1 队列的定义
- 队列的定义
队列是受限制的线性表;尾入头出;先进先出(FIFO)
4-1-2 队列的基本运算
- 队列初始化
- 入队
- 出队
- 判队空
- 判对满
- 求队列长度
4-2 队列的存储实现及运算实现
4-2-1 顺序队列
1. 顺序队列
a. 特点:
i rear是插入端,front是删除端;
ii 初始化队列时,头指针front和尾指针rear都指向-1
iii 非空队列中,rear总指向当前队尾元素,front总指向当前队首元素的前一个位置。
iv
b. 基本操作
i 初始化:q->front=q->rear=-1;
ii 入队:(q->rear)++;q->data[q->rear]=x;
iii 出队:q->front++;*x=q->data[q->front];
2. 循环队列
a. 注意:采用少使用一个存储空间的方法。
b. 队列初始化:q->front=q->rear=0;
c. 队列满:q->front=(q->rear+1)%MAXSIZE;
d. 队列空:q->front==q->rear;
e. 入队:q->rear=(q->rear+1)%MAXSIZE;
f. 出队:q->front=(q->front+1)%MAXSIZE;
g. 队列长度:len=(q->front-q->rear)%MAXSIZE;
0 0
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- Ubuntu 安装过程和安装后分辨率问题
- linux内部指令知识点小节
- Android数据库高手秘籍(二)——创建表和LitePal的基本用法
- MySql性能调优(六)InnoDB引擎和Myisam引擎的性能对比
- 一年培训
- 队列
- OAuth 2.0是神马?
- 关于51中断优先级的认识
- [Java5新特性]泛型
- Android数据库高手秘籍(三)——使用LitePal升级表
- 各种排序算法的分析及java实现
- STM32F1驱动AM2302温湿度传感器
- OAuth与SSO、REST有哪些区别与联系
- Android数据库高手秘籍(四)——使用LitePal建立表关联