本文结合《大话数据结构》进行讲解。有书的小伙伴可以结合书一起看,会有更加深刻的理解;没有书也没关系,本章会有大量的例子和总结,也能很好的理解栈与队列。
上文我们学习了将栈的思想运用到代码上,从而模拟实现栈,详见数据结构:栈与队列(二)
初始队列
队列的定义
队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先
进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾 出队列:进行删除操作的一
端称为队头
![](https://img-blog.csdnimg.cn/img_convert/3c3618699ece1d065cd64e8f7f7bea6a.png)
队列原理图
我们对比我们之前学的线性表有单链表(一)和 顺序表(一)两种储存方式。同理可得,队列作为一种特殊的线性表也同样有两种方式。顺序储存方式和链式储存方式。
我们先来看看顺序储存方式:
队列的顺序存储
我们先来观察一下它是如何出队的: