大话数据结构八:队列的顺序存储结构(循环队列)2014-12-301. 什么是队列?队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。
2. 队列的特点:队列是一种先进先出(First In First out)的线性表,允许插入的一端称为队尾,允许删除的一端称为队头。
3. 队列顺序存储有什么不足?使用数组实现的顺序存储,当做出队列操作时,所有的元素都需要向前移动一位,性能很低。
4. 什么是循环队列?队列头尾相接的顺序存储结构称为循环队列。如图所示:front记住队头元素下标,rear记住队尾元素的下一个元素。
注意:1. 只凭等式front=rear是无法判断队空还是队满,所以我们约定当队列头指针front在队尾指针rear的下一个位置上时,作为队列"已满"的标志,当队列满时,数组中还会有一个空闲位置。2. 我们也可以设置一个标志变量flag,当(front == rear && flag == 0) 队列为空, 当(front == rear && flag == 1)队列为满。