数据结构 5.22知识点

本文介绍了数据结构中队列的两种实现方式——顺序队列和链式队列。详细讨论了初始化、入队、出队、获取队头元素和判断队列是否为空等基本操作的算法实现,包括顺序循环队列解决假溢出问题的策略,并给出了链式队列的相关定义和操作方法。
摘要由CSDN通过智能技术生成

队列的两种实现方式—顺序队列、链式队列
基本操作:
(1)初始化队列 InitQueue(Q)
(2)入队 EnQueue(Q,item)
(3)出队 DeQueue(Q,item)
(4)获取队头元素内容 GetHead(Q,item)
(5)判断队列是否为空 QueueEmpty(Q)
实现算法—存储结构
1、顺序存储结构实现队列

队头,队尾指针。front存储队头元素所在下标,当出队时,front++,而rear存储队尾元素的下一个元素的下标,即可以直接入队的下标sq[rear]=e;入队后,rear++;此时会出现假溢出的情况===》顺序循环队列(不能扩容)
if(rear==SIZE-1)//对front的控制同rear
rear=0;

else rear ++;
或rear++;if(rear==SIZE)rear=0;

解决队列算法中的两种特殊情况(队空、队满)
队空:length== 0
队满:length==SIZE;

typedef struct {
QElemType sq[50];
//QElemType *elem;
int front//队头元素所在下标
int rear//队尾元素的下一个位置的下标,可以直接入队的位置下标
int length;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值