【数据结构】第三章(2)队列、队列的存储结构——顺序队列、循环队列(顺序循环队列、链循环队列)

用于笔记

目录

3.3  队列( Queue)

(1)定义

(2)逻辑结构

(3)存储结构

(4)运算规则

(5)主要操作

⭐栈、队列与一般线性表的区别

队列的表示和操作的实现 

例题引入:提示,出队顺序就是出栈顺序

队头  队尾

队列的存储结构——顺序队列、循环队列(顺序循环队列、链循环队列)

第一种存储结构——顺序队列的表示

问题:假溢出

假溢出——解决方案:

问题:队空队满的情况是一样的

队空队满情况一致解决方案

第二种存储结构:循环队列——顺序循环队列的表示

基本操作:

循环队列的初始化

(1)实际长度

(2)最大长度

(3)循环队列为空

(4)循环队列为满

(5)循环队列入队

(6)循环队列出队

第二种存储结构:循环队列——链循环队列的表示【初始状态下指针指向 头结点】

(1)链队列初始化

(2)销毁链队列

(3)判断链队列是否为空(空——True)

(4)求链队列队头元素

(5)链队列入队 rear

(6)链队列出入队 front


3.3  队列( Queue)

队列是一种先进先出(FIFO)的线性表.在表一端插入,在另一端删除。

(1)定义

只能在表的一端(队尾)进行插入,在另一端(队头)进行副除运算的线性表

(2)逻辑结构

与线性表相同,仍为一对一关系

(3)存储结构

用顺序队列或链队存储均可

(4)运算规则

先进先出(FIFO)

(5)主要操作

入队和出队函数,具体实现依顺序队或链队的不同而不同

⭐栈、队列与一般线性表的区别

队列的表示和操作的实现 

例题引入:提示,出队顺序就是出栈顺序

栈的容量S:

队头  队尾

队列有头指针front  尾指针rear

队列的存储结构——顺序队列、循环队列(顺序循环队列、链循环队列)

第一种存储结构——顺序队列的表示

问题:假溢出

假溢出——解决方案:

问题:队空队满的情况是一样的

队空队满情况一致解决方案

第二种存储结构:循环队列——顺序循环队列的表示

基本操作:

循环队列的初始化

基本操作:

(1)实际长度

(2)最大长度

(3)循环队列为空

(4)循环队列为满

(5)循环队列入队

(6)循环队列出队

第二种存储结构:循环队列——链循环队列的表示【初始状态下指针指向 头结点】

首元结点的地址  存放在  头结点的next域内;  [   Q.front->next;   ]

首元结点的数据  :Q.front->next -> data ; 

入队动front;出队动rear。

队列的头指针、尾指针是包含数据域和指针域两部分。Q.front->data;

(1)链队列初始化

(2)销毁链队列

(3)判断链队列是否为空(空——True)

(4)求链队列队头元素

(5)链队列入队 rear

1.先  生成新结点,将要入队的数据存放在新结点的数据域中,指针域设为NULL;

2.对新结点进行入队操作:尾指针的指针域 指向 p;移动尾指针。

(6)链队列出入队 front

第三章  栈和队列 结束

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值