顺序队和的定义及实现

重要知识点汇总:
1.底层是使用数组存储队列元素,每个队列元素在数组中的位置是固定的,改变的只是rear和front的值而已。当rear的值等于数组的大小,再试图添加元素时,会引起队列已满的异常。
2.由于队列的队头和队尾的位置是变化的,设置两个指针front和rear分别指示队头元素和队尾元素在向量空间中的位置,它们的初值在队列初始化时均应置为0。
3.入队时:将新元素插入rear所指的位置,然后将rear加1。
出队时:删去front所指的元素,然后将front加1并返回被删元素。
4.循环队列中,由于入队时尾指针向前追赶头指针;出队时头指针向前追赶尾指针,造成队空和队满时头尾指针均相等。因此,无法通过条件front==rear来判别队列是"空"还是"满"。
  解决这个问题的方法至少有三种:
  ① 另设一布尔变量以区别队列的空和满;
  ② 少用一个元素的空间。约定入队前,测试尾指针在循环意义下加1后是否等于头指针,若相等则认为队满(注意:rear所指的单元始终为空;
  ③使用一个计数器记录队列中元素的总数(即队列长度)。
5.无须考虑判队满的运算及上溢。
在出队算法中,一般只需修改队头指针。但当原队中只有一个结点时,该结点既是队 头也是队尾,故删去此结点时亦需修改尾指针,且删去此结点后队列变空。
以上讨论的是无头结点链队列的基本运算。和单链表类似,为了简化边界条件的处理,在队头结点前也可附加一个头结点,增加头结点的链队列的基本运算
课件:链队的数据出队链队的入队链队的函数构造链队的函数声明队中元素的读取数据入队![数据出队队基本函数的声明队满或队空的判定条件队的循环将队首尾相接实现循环队  数据先进先出队的特点及特性

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值