队列是一种受限的线性表,队列是连续的存储区,可以存储一系列元素。是FIFO(First-In-First-Out)结构。
队列通常具有头尾指针(左闭右开区间),头指针指向第一个元素,尾指针指向最后一个元素的下一位。
队列支持(从队尾)入队(enqueue)、(从队首)出队(dequeue)操作.
循环队列可以通过取模操作更充分的利用空间。
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队首。
类似于我们日常生活中排队买票,我们购票的时候是要排在队尾的——入队操作,当到我们
买票的时候我们已经在队首了,买完票离开就是一个出队的操作。总结来说,队列就是一个
先进先出的线性表。
队列的典型应用场景
1、CPU的超线程技术
2、线程池的任务队列