总结一下stack, queue,list的用法。
Java | C++ | 描述 | |
---|---|---|---|
构造 | Stack<Integer> myStack = new Stack<Integer>(); | stack<int> myStack; | 初始化 |
容量 | myStack.empty(); | myStack.empty(); | 是否为空 |
容量 | myStack.size(); | myStack.size(); | 容器中的元素个数 |
增加 | myStack.push(3); | myStack.push(3); | 入栈:向栈内插入一个元素(插入在栈顶) |
查询 | myStack.peek(); | myStack.top(); | 查栈:查询栈顶元素(即最新被插入的元素) |
删除 | myStack.pop(); | myStack.pop(); | 出栈:删除栈顶元素 |
JAVA | C++ | 描述 | |
---|---|---|---|
构造 | Queue<Integer> myQueue = new Queue<Integer>(); | queue<int> myQueue; | 初始化 |
容量 | myQueue.empty(); | myQueue.empty(); | 是否为空 |
容量 | myQueue.size(); | myQueue.size(); | 容器中的元素个数 |
增加 | myQueue.offer(3); myQueue.put() | myQueue.push(3); | 入栈:向栈内插入一个元素(插入在栈顶) |
查询 | myQueue.poll();返回第一个元素并删除 myQueue.element();返回第一个元素< myQueue.peek();返回第一个元素 | myQueue.top(); | 查栈:查询栈顶元素(即最新被插入的元素) |
删除 | myQueue.poll(); | myQueue.pop(); | 出栈:删除栈顶元素 |
myQueue.remove(); | myQueue.front() | 显示第一个元素 | |
myQueue.back() | 显示最后一个元素 | ||
myQueue.pop() | 清除第一个元素 | ||
Java | C++ | 描述 | |
---|---|---|---|
构造 | LinkedList<Integer> mylist = new LinkedList<>(); | list<int> mylist; | 初始化 |
容量 | mylist.empty(); | mylist.empty(); | 是否为空 |
容量 | mylist.size(); | mylist.size(); | 容器中的元素个数 |
增加 | mylist.push(1) 头添加 | mylist.push_front() mylist.push_back() insert //任意位置插入 | |
查询 | get(1) 按索引查询 。contains(1)包含 | mylist.front() mylist.back() begin() end() | 双向链表是无索引查询的 |
删除 | mylist.pop();首部删除 mylist.pollFrist();获取且移除 mylist.peekFrist();获取但不移除列表的第一个元素 mylist.peekLast();获取但不移除最后一个元素 mylist.pollLast();获取且移除最后一个 | remove //按条件删除元素 erase //任意位置删除 | |
根据索引改数值 | .set(index, element); .add(index, element); |