栈和队列 - 队列 - 顺序队列
顺序队列
顺序队列
( )顺序队列的定义
队列的顺序存储结构称为顺序队列 顺序队列实际上是运算受限的顺序表
( ) 顺序队列的表示
①和顺序表一样 顺序队列用一个向量空间来存放当前队列中的元素
②由于队列的队头和队尾的位置是变化的 设置两个指针front和rear分别指示队头元素和队尾元素在向量空间中的位置 它
们的初值在队列初始化时均应置为
( ) 顺序队列的基本操作
①入队时 将新元素插入rear所指的位置 然后将rear加
②出队时 删去front所指的元素 然后将front加 并返回被删元素
注意
①当头尾指针相等时 队列为空
②在非空队列里 队头指针始终指向队头元素 尾指针始终指向队尾元素的下一位置
顺序队列基本操作【 参见动画演示 】
( )顺序队列中的溢出现象
① 下溢 现象
当队列为空时 做出队运算产生的溢出现象 下溢 是正常现象 常用作程序控制转移的条件
② 真上溢 现象
当队列满时 做进栈运算产生空间溢出的现象 真上溢 是一种出错状态 应设法避免
③ 假上溢 现象
由于入队和出队操作中 头尾指针只增加不减小 致使被删元素的空间永远无法重新利用 当队列中实际的元素个数远远小于
向量空间的规模时 也可能由于尾指针已超越向量空间的上界而不能做入队操作 该现象称为 假上溢 现象
【例】假设下述操作序列作用在初始为空的顺序队列上
EnQueue DeQueue EnQueue DeQueue …
尽管在任何时刻 队列元素的个数均不超过 但是只要该序列足够长 事先定义的向量空间无论多大均会产生指针越界错误
lishixinzhi/Article/program/sjjg/201311/23923