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

数据结构复习笔记——队列(c语言)_第1张图片

队列

  • 队列的概念和应用场景
    • 1.概念
    • 2.应用场景
  • 队列的接口实现
    • 1.节点的创建
    • 2.队列的创建
    • 3.队列的初始化
    • 4.队列的销毁
    • 5.判断是否为队列是否为空
    • 6.尾插数据
    • 7.队列第一个数据的删除
    • 8.求队列中数据的个数
    • 9.求队列的首个元素
    • 10.求队列最后一个元素
  • 完!

队列的概念和应用场景

1.概念

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

2.应用场景

队列的在现实生活的应用场景有很多,例如医院排号,手机营业厅排号,当先来的拿到的票就比较靠前,所以就先办理业务
如下图的营业厅中的场景:
数据结构复习笔记——队列(c语言)_第2张图片

队列的接口实现

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

1.节点的创建

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

数据结构复习笔记——队列(c语言)_第3张图片

2.队列的创建

数据结构复习笔记——队列(c语言)_第4张图片

3.队列的初始化

刚开始队列没有一个节点,所以需要把队列的头指针和为指针都置成NULL
数据结构复习笔记——队列(c语言)_第5张图片

4.队列的销毁

数据结构复习笔记——队列(c语言)_第6张图片

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

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

数据结构复习笔记——队列(c语言)_第7张图片

6.尾插数据

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

数据结构复习笔记——队列(c语言)_第8张图片

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

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

数据结构复习笔记——队列(c语言)_第9张图片

8.求队列中数据的个数

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

数据结构复习笔记——队列(c语言)_第10张图片

9.求队列的首个元素

数据结构复习笔记——队列(c语言)_第11张图片

10.求队列最后一个元素

数据结构复习笔记——队列(c语言)_第12张图片

完!

你可能感兴趣的:(笔记,队列,数据结构,链表,c语言,算法)