C++-std::queue

1、什么是队列【queue】

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。

关于队列的基本操作方法:

add():添加一个元素,若超出了度列的长度会直接抛出异常。

put():添加一个元素,若向队尾添加元素的时候发现队列已经满了会发生阻塞一直等待空间,以加入元素。

offer():添加一个元素,如果在添加时发现队列已满无法添加的话,则返回false。

take():移除并返回这个元素,若队列为空,则发生阻塞,等待有元素。有点类似于生产者消费者模型,只有元素的时候take才被唤醒

poll():移除并返回这个元素,若队列为空,返回null。

remove():移除并返回这个元素,若队列为空,抛出NoSuchElementException异常。

element():返回队列的头部元素,若队列为空,则抛出NoSuchElementException异常。

peek():返回队列头部元素,若队列为空,则返回null

 

2、队列的FIFO

即先进先出

 

 

 

图参考:https://zhuanlan.zhihu.com/p/77981148

 

 



posted @ 2019-06-12 22:56  朱小勇  阅读(1526)  评论(0编辑  收藏  举报