队列,和栈一样,也是一种对数据的"存"和"取"有严格要求的线性存储结构。
什么是队列
与栈结构不同的是,队列的两端都"开口",要求数据只能从一端进,从另一端出,如下图示:
![94dfa62bebc8cd784371c8c2e76d7d57.png](https://i-blog.csdnimg.cn/blog_migrate/b3b522b1c97037582fe3b95bc32532c7.jpeg)
通常,称进数据的一端为 "队尾",出数据的一端为 "队头",数据元素进队列的过程称为 "入队",出队列的过程称为 "出队"。
不仅如此,队列中数据的进出要遵循 "先进先出" 的原则,即最先进队列的数据元素,同样要最先出队列。拿图 1 中的队列来说,从数据在队列中的存储状态可以分析出,元素 1 最先进队,其次是元素 2,最后是元素 3。此时如果将元素 3 出队,根据队列 "先进先出" 的特点,元素 1 要先出队列,元素 2 再出队列,最后才轮到元素 3 出队列。
栈和队列不要混淆,栈结构是一端封口,特点是"先进后出";而队列的两端全是开口,特点是"先进先出"。
因此,数据从表的一端进,从另一端出,且遵循 "先进先出" 原则的线性