队列的基本操作(实现链式栈)

本文介绍了队列的基本概念,包括其FIFO特性、队头和队尾的操作,并探讨了顺序队列和循环队列的优缺点。此外,还讲解了链式队列作为特殊的单链表在队列操作中的应用,以及优先级队列的概念,强调了优先级高的元素优先出队列的原则。最后,提到了链式栈的实现。
摘要由CSDN通过智能技术生成

 

一、熟悉队列的基本概念
只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表
(1)进行插入操作的一端称为队尾(入队列)
(2)进行删除操作的一端称为队头(出队列)
(3)队列具有先进先出(FIFO)的特性
二、 队列的性质
队列是一种操作受限制的线性表
三、 队列存储结构
 1、顺序队列:
(1)队头不动,出队列时队头后的所有元素向前移动
缺陷:操作时如果出队列比较多,要搬移大量元素
(2)队头移动,出队列时队头向后移动一个位置
缺陷:可能会发生假溢出(顺序队列因多次入队列和出队列操作后出现的尚有存储空间但不能再进行
入队列操作的溢出)
真溢出:顺序队列最大存储空间已经存满而又要求进行入队列操作所引起的溢出
2、循环队列:
循环队列(解决“假溢出”的办法就是后面满了,从头再开始,将头尾相接的顺序存储队列称为循环队列)
(rear + 1) % (空间大小) == front则队满
循环队列如何解决队列空或者满?
(1)少用一个存储单元:(队尾指针加一等于队头)
(2)设置一个标记位:(对头,队尾在同一位置:flag = 1存满了;flag = 0空)
(3)设置一个计数器:(co

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xuruhua

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值