数据结构与算法(C++)– 队列(Queue)

版权声明: https://blog.csdn.net/Wang_Jiankun/article/details/82257109

数据结构与算法(C++)– 队列(Queue)


1、队列

  • 先进先出(First in, First out)
  • enqueue 入队,dequeue 出队
  • front 队头,rear / back 队尾

这里写图片描述


2、队列实现(数组)

入队和出队:
这里写图片描述

// 创建空的队列
int q[10];

// 入队:enqueue(1)
q[back++] = 1;

// 出队: dequeue()
return q[front++];

判断队列是否为空:

// 法1
size = back-front
0 == Size

// 法2
back == front

3、循环队列

这里写图片描述

// 数组的大小为 MaxLen
// 入队
++back;
If (back == MaxLen) 
      back = 0;

// 计算队列大小
size = (back+MaxLen-front) % MaxLen

// 判断是否为满
size == MaxLen-1

// 判断是否为空
size == 0

猜你喜欢

转载自blog.csdn.net/Wang_Jiankun/article/details/82257109