This commit is contained in:
krahets
2023-09-17 01:11:33 +08:00
parent 221bec3ea3
commit fca420d938
12 changed files with 64 additions and 15 deletions

View File

@@ -311,7 +311,33 @@ comments: true
=== "Rust"
```rust title="deque.rs"
/* 初始化双向队列 */
let mut deque: VecDeque<u32> = VecDeque::new();
/* 元素入队 */
deque.push_back(2); // 添加至队尾
deque.push_back(5);
deque.push_back(4);
deque.push_front(3); // 添加至队首
deque.push_front(1);
/* 访问元素 */
if let Some(front) = deque.front() { // 队首元素
}
if let Some(rear) = deque.back() { // 队尾元素
}
/* 元素出队 */
if let Some(pop_front) = deque.pop_front() { // 队首元素出队
}
if let Some(pop_rear) = deque.pop_back() { // 队尾元素出队
}
/* 获取双向队列的长度 */
let size = deque.len();
/* 判断双向队列是否为空 */
let is_empty = deque.is_empty();
```
=== "C"
@@ -1394,7 +1420,7 @@ comments: true
void push(int num, bool isFront) {
final ListNode node = ListNode(num);
if (isEmpty()) {
// 若链表为空,则令 _front_rear 都指向 node
// 若链表为空,则令 _front_rear 都指向 node
_front = _rear = node;
} else if (isFront) {
// 队首入队操作

View File

@@ -278,7 +278,30 @@ comments: true
=== "Rust"
```rust title="queue.rs"
/* 初始化双向队列 */
// 在 Rust 中使用双向队列作为普通队列来使用
let mut deque: VecDeque<u32> = VecDeque::new();
/* 元素入队 */
deque.push_back(1);
deque.push_back(3);
deque.push_back(2);
deque.push_back(5);
deque.push_back(4);
/* 访问队首元素 */
if let Some(front) = deque.front() {
}
/* 元素出队 */
if let Some(pop) = deque.pop_front() {
}
/* 获取队列的长度 */
let size = deque.len();
/* 判断队列是否为空 */
let is_empty = deque.is_empty();
```
=== "C"