1 基本介绍
队列是一种抽象数据结构,具有以下特点:
(1)具有先进先出的特性(FIFO)
(2)拥有两种基本操作,即加入和删除,而且使用front和rear两个指针来分别指向队列的前端和末尾。
队列的基本操作
create 创建空队列
add 将新数据加入队列的末尾,返回新队列
delete 删除队列前端的数据,返回新队列
front 返回队列前端的值
empty 若队列为空,则返回 ‘真’,否则返回 ‘假’
2 实现queue有两种方式可以用数组和链表
1.我们先用数组实现队列
数组实现队列的好处在于算法相当简单,
但是也有缺点,数组无法根据队列的实际需要动态申请,
只能声明固定的大小。现在我们声明一个有限容量的数组
(1)开始时,我们将front与rear都设置-1,当front = rear时,为空队列
(2)每加入一个元素,将rear值加1:
(3)每取出一个元素,将front的值加1:
(5)rear=MAXSIZE-1 ,表示队列已满
2用链表实现队列
front和rear指针
在队列中加入新节点等于加入到队列的末端,而删除节点就是将此队列的最前端的节点删除。