Java和c++的栈和队列的异同

Posted 卷王2048

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()删除元素

以上是关于Java和c++的栈和队列的异同的主要内容,如果未能解决你的问题,请参考以下文章

简单的栈和队列

Java栈和队列·下

C++栈和队列

python的栈和队列的实现代码

python的栈和队列的实现代码

C++ 栈和队列 Vector