学习数据结构(四)——队列

1.队列

队列是限定在表的两端插入或删除的线性表。先进入队列的元素先删除,因此,其特点是先进先出。

(1)顺序队列

采用顺序结构。其应包括队首、尾指示器、队列起始地址、队列允许最大空间数。(1)进队操作:进队时队尾指针加1,再将新的元素按照队尾指示器所指地址插入。(2)出队操作:出队时对头指示器加1,再将队首指示器所指地址的元素取出。队列空的时候,出队会错误;队列溢出的时候,入队会错误。

(2)循环队列

当队尾指示器指向maxsize+1处时候,而队首指示器不为0,这种现象称为假溢出。消除假溢出的最好办法是采用循环队列。将队列看成首尾相接的循环结构。(1)如果需要将队尾和队首指示器从序号最大空间移动到最小序号空间,则只需要其加1取最大空间的模赋值给自身即可,即front = ( front + 1 ) % maxsize。(2)区分队满和对空时,①少用一个空间的时候,当队首下标=队尾下标=1时,队空;(队尾+1)%最大空间=队首,则队满②设置标志位

(3)链式队列

与单向链表相似,不同的是需要一个指针指向队尾。即在队尾增加一个结点,删除首结点。

(4)双端队列

其具有栈和队列的双重性质。元素可以从两端弹出,插入和删除也在两端进行。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值