0
点赞
收藏
分享

微信扫一扫

数据结构——队的基本操作

624c95384278 2024-08-28 阅读 23
数据结构

一、顺序队

队的用法:先进先出

跟平时我们遇到的大多情况一样,队的主要思想就是先进先出,比如我去食堂打饭,我先排那么就是我先打到饭咯

顺序队:其实说白了就是一块空间用两个指针去指向,为了实现先进先出的功能

需要注意:这里的两个指针指向,每次入队,队尾指针++,每次出队,队头指针也是++

而且入队要考虑从无到有的情况,出队要考虑从有到无的情况

1、定义

队的定义

需要注意的是这里的front rear num都是整型,不是指针 ,后面画图的时候,将front和rear用一条直线连向空间,不是指向哦,不是指针,只是为了表示下标的位置

2、初始化

首先创建一个空队列,使它存在

3、入队 

将一个数值入队,例如:EnQueue(cq,1)

4、出队 

将一个数值出队到某一特定的空间中去(d),例如:DeQueue(cq,&d)

5、求队列长度

6、获取队头数据

7、判断一个队列是否为空

8、清空一个队

9、销毁一个顺序队 

先清空,使其初始化,再释放申请的队的空间

10、打印一个顺序队

11、帮助理解图 

二、链式队

每输入一个数据,开辟一块空间并入队,灵活存取

每出队一个数据,先保存要出队的数据,再将曾经为了保存这个数据开辟的空间释放掉,而且不能影响现有队列的结构和操作

1、链式队的定义

队中每个数据的功能先设置单一点,只能指向下一个数据,既不能双向,也不能循环

队中存放数据的数据结点的定义

“头结点”——队的定义 

2、链式栈的初始化

3、入队 

4、出队

 5、求队列长度

6、获取队头元素

7、判断队列是否为空

 8、清空队列

9、销毁队列

10、打印一个链式队

 11、帮助理解图

三、主函数代码实现及运行结果演示 

 这个是gcc编译器调试结果示意图


以上是我对数据结构中栈内容的学习记录, 其中有说法不准确的地方欢迎各位朋友指出!

举报

相关推荐

0 条评论