队列的概念和应用场景
1.概念
队列:只允许在一端插入数据,在另一端进行删除数据
入队列:进行插入数据的一端为队尾
出队列:进行删除数据的一端为对头
队列的特点:先进先出,后进后出
2.应用场景
队列的在现实生活的应用场景有很多,例如医院排号,手机营业厅排号,当先来的拿到的票就比较靠前,所以就先办理业务
如下图的营业厅中的场景:
队列的接口实现
队列可以用链表和数组来实现,但使用链表的效率更高一些,如果使用数组实现的话,数据在出队列是在数组的头上出队列,所以删除第一个数据后,要对后面的数据从后往前挪动一位。
1.节点的创建
既然要使用链表的方式来表示队列,必然少不了节点创建
2.队列的创建
3.队列的初始化
刚开始队列没有一个节点,所以需要把队列的头指针和尾指针都置成NULL
4.队列的销毁
5.判断是否为队列是否为空
如果队列为空,则该返回真,如果不为空,则返回假
6.尾插数据
队列的数据是从尾部插入的,所以将一个数据插入到队列,首先需要创建一个新节点,然后再将数据录入新节点中,再通过队列的尾指针将新节点连接起来。
7.队列第一个数据的删除
队列的删除数据是从队头进行删除的,首先需要判断队列是否为空,若为空则队列则不需要删除,还有一个点就是需要注意删除时,队列是否只剩下最后一个节点,若只剩下最后一个节点,则需要把队列的头指针和尾尾指针进行置空,否则会出现野指针的情况
8.求队列中数据的个数
求队列中数据的个数。有多少个节点则就有多少个数据,需要对队列从头到尾各个节点遍历一遍,直到遇见空指针就结束。
9.求队列的首个元素
10.求队列最后一个元素
完!
转载:https://blog.csdn.net/sjp11/article/details/116305111
查看评论