今天用数组的方式来实现一下队列的顺序存储
1 队列介绍
- 队列是一个 有序列表,可以用 数组或是 链表来实现。
- 遵循 先入先出的原则。即: 先存入队列的数据,要先取出。后存入的要后取出
- 示意图:(使用数组模拟队列示意图)
2 数组模拟环形队列
分析说明:
- 尾索引的下一个为头索引时表示队列满,即将队列容量空出一个作为约定,这个在做判断队列满的
时候需要注意 (rear + 1) % maxSize == front 满]
- rear == front [空]
- 分析示意图:
循环数组如下图:
难点理解,如何表示满队列和空队列
在图 4-3 中用队首指针front指向队首元素所在的单元,用队尾指针rear指向队尾元素所在单元的后一个单元。如此在图 4-4(b)中所示循环队列中,队首元素为e 0 ,队尾元素为e 3 。当e 4 、e 5 、e 6 、e 7 相继进入队列后,如图 4-4(c)所示,队列空间被占