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

b3e6c7d731014fdabdf736c675856503.jpg

队列的概念和应用场景

1.概念

队列:只允许在一端插入数据,在另一端进行删除数据

入队列:进行插入数据的一端为队尾

出队列:进行删除数据的一端为对头

队列的特点:先进先出,后进后出

2.应用场景

队列的在现实生活的应用场景有很多,例如医院排号,手机营业厅排号,当先来的拿到的票就比较靠前,所以就先办理业务

如下图的营业厅中的场景:

db4ccf226e8f4b80be753cd59436ed73.jpg

队列的接口实现

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

1.节点的创建

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

61cfe03a890843f3829583e180be9905.jpg

2.队列的创建

0b13957a677742f7a5814eebb1ff7ef2.jpg

3.队列的初始化

刚开始队列没有一个节点,所以需要把队列的头指针和尾指针都置成NULL

85001a494afe48dda598afcd6db588e5.jpg

4.队列的销毁

e3a9f06e035844c7936b5b391389ae3c.jpg

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

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

8271299afaeb4621aac561ba099b87fc.jpg

6.尾插数据

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

64b735626d7b4bf794ffc701306518d8.jpg

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

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

2edc1648831245ba83c4d173cd6f4286.jpg

8.求队列中数据的个数

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

0e765a669e584739a271f598ebbe1e5f.jpg

9.求队列的首个元素

5873f36ea45247ecba98fbbee012b8a2.jpg

10.求队列最后一个元素

0f60c1db6dd04c5ba9d255d5b700032b.jpg

完!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值