队列

来源:互联网 发布:隐形轰炸机 知乎 编辑:程序博客网 时间:2024/04/29 13:21

第4章 队列

4-1 队列的定义和基本运算

4-1-1 队列的定义

  1. 队列的定义
    队列是受限制的线性表;尾入头出;先进先出(FIFO)

4-1-2 队列的基本运算

  1. 队列初始化
  2. 入队
  3. 出队
  4. 判队空
  5. 判对满
  6. 求队列长度

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
原创粉丝点击