Java和c++的栈和队列
2026/4/9小于 1 分钟
Java和c++的栈和队列
Java默认使用Deque
Deque方法的区别
<font color="#FF7F50" size="5"></font>传统的queue是以低地址端为队头,高地址端为队尾
<font color="#00A2E8" size="5"></font>传统的stack是以低地址端为栈底,高地址端为栈顶
pop(),push(),poll(),offer(),remove()这类传统方法在deque中都是以高地址为队头的方法,这些方法在queue和stack中
都是以低地址到高地址为参考系的方法
而add(),addFirst(),addLast(),offerFirst(),offerLast(),
pollFirst(),pollLast(),removeFirst(),removeLast(),peekFirst,peekLast,getFirst,getLast都是以低地址到高地址为参考系的方法,也是deque中新增的方法
c++
顺序容器还有以下常用成员函数:
- front():返回容器中第一个元素的引用。
- back():返回容器中最后一个元素的引用。
- push_back():在容器末尾增加新元素。
- pop_back():删除容器末尾的元素。
- insert(...):插入一个或多个元素。该函数参数较复杂,此处省略。
c++中没有同时删除并返回值的方法,需要先用front,或back()
返回元素,再用pop_back()或pop_front()删除元素