Java和c++的栈和队列的异同
Java和c++的栈和队列的异同
Java默认使用Deque
Deque方法的区别
传统的queue是以低地址端为队头,高地址端为队尾
传统的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()
删除元素