数据结构复习笔记——队列(c语言)

Posted sjp11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构复习笔记——队列(c语言)相关的知识,希望对你有一定的参考价值。

在这里插入图片描述

队列的概念和应用场景

1.概念

队列:只允许在一端插入数据,在另一端进行删除数据
入队列:进行插入数据的一端为队尾
出队列:进行删除数据的一端为对头
队列的特点:先进先出,后进后出

2.应用场景

队列的在现实生活的应用场景有很多,例如医院排号,手机营业厅排号,当先来的拿到的票就比较靠前,所以就先办理业务
如下图的营业厅中的场景:
在这里插入图片描述

队列的接口实现

队列可以用链表和数组来实现,但使用链表的效率更高一些,如果使用数组实现的话,数据在出队列是在数组的头上出队列,所以删除第一个数据后,要对后面的数据从后往前挪动一位。

1.节点的创建

既然要使用链表的方式来表示队列,必然少不了节点创建

在这里插入图片描述

2.队列的创建

在这里插入图片描述

3.队列的初始化

刚开始队列没有一个节点,所以需要把队列的头指针和尾指针都置成NULL
在这里插入图片描述

4.队列的销毁

在这里插入图片描述

5.判断是否为队列是否为空

如果队列为空,则该返回真,如果不为空,则返回假

在这里插入图片描述

6.尾插数据

队列的数据是从尾部插入的,所以将一个数据插入到队列,首先需要创建一个新节点,然后再将数据录入新节点中,再通过队列的尾指针将新节点连接起来。

在这里插入图片描述

7.队列第一个数据的删除

队列的删除数据是从队头进行删除的,首先需要判断队列是否为空,若为空则队列则不需要删除,还有一个点就是需要注意删除时,队列是否只剩下最后一个节点,若只剩下最后一个节点,则需要把队列的头指针和尾尾指针进行置空,否则会出现野指针的情况

在这里插入图片描述

8.求队列中数据的个数

求队列中数据的个数。有多少个节点则就有多少个数据,需要对队列从头到尾各个节点遍历一遍,直到遇见空指针就结束。

在这里插入图片描述

9.求队列的首个元素

在这里插入图片描述

10.求队列最后一个元素

在这里插入图片描述

完!

以上是关于数据结构复习笔记——队列(c语言)的主要内容,如果未能解决你的问题,请参考以下文章

有没有数据结构(C语言版)的资料

数据结构复习笔记——二叉树的常用接口的实现(c语言)

数据结构复习笔记系列3 — 队列

数据结构复习笔记系列3 — 队列

嵌入式体系结构复习笔记

C语言数据结构(大话数据结构——笔记2)第四章:栈与队列