Deque(甲板)问题
据我所知,Deque 是“双端队列”,它支持队列两端的操作。我的问题是它是如何运作的?例如说我有数字 3,4,2,1,5,6 并且我执行 推回(4) 推回(3) 推前(5) push_front(1)
这个数据将如何出现在双端队列中?会不会像 3,4,5,1 其中 Front 指向 1,back 指向 3? 那么如果我执行 pop_back() 它会返回 3 还是 4? (因为 3 是在 4 之前推送的。它是否起到 FIFO 的作用?) pop_front() 也类似吗? 5还是1?
如果我这样做 推回(4) 推回(3) 推回(5) push_back(1)
然后我做了 pop_front() ?它会返回什么? 4还是1?
请帮助我理解。
提前致谢
I understand that Deque is "double ended queue" which supports operations from both ends of a queue. My question is how does it work? e.g. say i have numbers 3,4,2,1,5,6 and i perform
push_back(4)
push_back(3)
push_front(5)
push_front(1)
how will this data appear in deque? will it be like
3,4,5,1 where Front points to 1 and back to 3?
so if i do pop_back() will it return 3 or 4? (since 3 was pushed before 4.. does it act as a FIFO?)
similarly for pop_front()? 5 or 1?
if I do
push_back(4)
push_back(3)
push_back(5)
push_back(1)
then I did pop_front() ? what will it return? 4 or 1?
Please help me understand .
Thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请参阅 http://www.cplusplus.com/reference/stl/deque/
另 ,我经常使用 cplusplus.com 的参考资料来解答 STL 问题。写得很好而且很透彻。
See http://www.cplusplus.com/reference/stl/deque/
Also, I use cplusplus.com's reference often for STL questions. It's well written and thorough.