前言
蒟蒻的markdown用的不好,轻喷。
正题
双端队列就像是普通队列的加强版,使用时要引入头文件 <deque> ,大家都知道,普通的队列只支持从队头入队与从队尾出队。
而双端队列支持队头/尾的出/入队(长难句),也就是四个操作。
打个比方,队列就像是一个马路,普通的是单行道,只能从一边进一边出,而双端队列就是一个双向的路,可以从南到北也可以从北到南。当然,队列中的一些操作在双端队列里也可以使用。
注意: 在调用 front() 与 back() 时要记得判读队列是否为空,不然会RE。
双端队列的遍历
其中的 auto 可以自动切换数据的类型,不用写 deque<int>::iterator 这么长一段。
这里提一嘴,其实 dq[1] 这样的写法也是可以的,但是不推荐大家用。凑字数
例题
哎?我例题呢?
后记
syh有点事所以例题后面补啦,谢谢大家
感谢@古希腊掌管AC和WA的神帮忙修正内容/bx