pull/944/head
krahets 2 years ago
parent c2a053aba8
commit 209d82a8cc

@ -12,7 +12,7 @@ comments: true
## 5.3.1.   双向队列常用操作
双向队列的常用操作见下表,方法名需根据特定语言来确定。
双向队列的常用操作见下表,方法名需根据语言来确定,此处以 Java 为例
<div class="center-table" markdown>
@ -24,8 +24,6 @@ comments: true
| pollLast() | 删除队尾元素 | $O(1)$ |
| peekFirst() | 访问队首元素 | $O(1)$ |
| peekLast() | 访问队尾元素 | $O(1)$ |
| size() | 获取队列的长度 | $O(1)$ |
| isEmpty() | 判断队列是否为空 | $O(1)$ |
</div>

@ -14,7 +14,7 @@ comments: true
## 5.2.1. &nbsp; 队列常用操作
队列的常用操作见下表,方法名需根据特定语言来确定。
队列的常用操作见下表,方法名需根据语言来确定,此处以 Java 为例
<div class="center-table" markdown>
@ -22,9 +22,7 @@ comments: true
| --------- | -------------------------- | -------- |
| push() | 元素入队,即将元素添加至队尾 | $O(1)$ |
| poll() | 队首元素出队 | $O(1)$ |
| front() | 访问队首元素 | $O(1)$ |
| size() | 获取队列的长度 | $O(1)$ |
| isEmpty() | 判断队列是否为空 | $O(1)$ |
| peek() | 访问队首元素 | $O(1)$ |
</div>

@ -16,7 +16,7 @@ comments: true
## 5.1.1. &nbsp; 栈常用操作
栈的常用操作见下表(方法命名以 Java 为例)
栈的常用操作见下表,方法名需根据语言来确定,此处以 Java 为例
<div class="center-table" markdown>
@ -25,8 +25,6 @@ comments: true
| push() | 元素入栈(添加至栈顶) | $O(1)$ |
| pop() | 栈顶元素出栈 | $O(1)$ |
| peek() | 访问栈顶元素 | $O(1)$ |
| size() | 获取栈的长度 | $O(1)$ |
| isEmpty() | 判断栈是否为空 | $O(1)$ |
</div>
@ -36,21 +34,20 @@ comments: true
```java title="stack.java"
/* 初始化栈 */
// 在 Java 中,推荐将 ArrayList 当作栈来使用
List<Integer> stack = new ArrayList<>();
Stack<Integer> stack = new Stack<>();
/* 元素入栈 */
stack.add(1);
stack.add(3);
stack.add(2);
stack.add(5);
stack.add(4);
stack.push(1);
stack.push(3);
stack.push(2);
stack.push(5);
stack.push(4);
/* 访问栈顶元素 */
int peek = stack.get(stack.size() - 1);
int peek = stack.peek();
/* 元素出栈 */
int pop = stack.remove(stack.size() - 1);
int pop = stack.pop();
/* 获取栈的长度 */
int size = stack.size();
@ -76,7 +73,7 @@ comments: true
int top = stack.top();
/* 元素出栈 */
stack.pop();
stack.pop(); // 无返回值
/* 获取栈的长度 */
int size = stack.size();

Loading…
Cancel
Save