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()删除元素