我们上一期分享了栈和队列的概念以及实现了栈。那我们今天就来手撕一个队列出来呗。
首先我们在写队列之前,我们知道它的特性是先进先出。那是不是很好的发挥出了我们链表的优势呢,那我们一起来写一个吧,老规矩,先写结构体呗
今天我们要实现的接口,如下
对于聪明的你们肯定是简简单单喽,那就交给你们喽,我们下期再见
逗你们的啦,让我们一起先来实现它的初始化吧
那可能有人就会有疑问了,为什么让他们指向NULL,而不是malloc一个新节点,让他们指向新节点呢,这也是可以的,至于怎么做,那就交给你们喽,让我们接下实现队列的入数据
我们入数据后想要删除它,该怎么办呢
熟悉我们套路的小伙伴应该都清楚,接下来就是我们出数据了,还记得我们的函数声明吗,我们设计了,队头出数据和队尾出数据,但我们队尾出数据只能出队尾本身数据,而无法出队尾的上一个数据。那我们分别来实现一下吧
我们想把数据打印出来是不是先要去判断队列中是否有数据呀,那么我们再来写一个判断函数吧
写了这么多接口,还不知道是否真确呢,那么接下来就让我们验证一下吧
我们还剩什么呢
没错,就是它,小蓝毛。好啦,那我们来实现它,给我们今天的学习画上句号吧。