From 7d14c9440ec8e10fee8ca33a71a67b910c85c5fb Mon Sep 17 00:00:00 2001 From: Yudong Jin Date: Thu, 2 Feb 2023 01:43:01 +0800 Subject: [PATCH] Unify the function naming of queue from `offer()` to `push()` --- .gitignore | 5 -- codes/c/chapter_stack_and_queue/array_queue.c | 14 ++--- .../chapter_stack_and_queue/array_queue.cpp | 14 ++--- .../linkedlist_queue.cpp | 12 ++--- .../chapter_stack_and_queue/array_queue.cs | 14 ++--- .../linkedlist_queue.cs | 12 ++--- .../go/chapter_stack_and_queue/array_queue.go | 4 +- .../go/chapter_stack_and_queue/deque_test.go | 16 +++--- .../linkedlist_deque.go | 8 +-- .../linkedlist_queue.go | 4 +- .../go/chapter_stack_and_queue/queue_test.go | 34 ++++++------ .../go/chapter_stack_and_queue/stack_test.go | 2 +- .../chapter_stack_and_queue/array_queue.java | 14 ++--- .../linkedlist_deque.java | 20 +++---- .../linkedlist_queue.java | 13 +++-- .../chapter_stack_and_queue/array_queue.js | 14 ++--- .../linkedlist_queue.js | 12 ++--- codes/python/.gitignore | 1 + .../chapter_stack_and_queue/array_queue.swift | 14 ++--- .../linkedlist_queue.swift | 12 ++--- .../chapter_stack_and_queue/array_queue.ts | 14 ++--- .../linkedlist_queue.ts | 12 ++--- .../chapter_stack_and_queue/array_queue.zig | 14 ++--- .../linkedlist_deque.zig | 14 ++--- .../linkedlist_queue.zig | 12 ++--- .../deque.assets/deque_operations.png | Bin 62379 -> 66556 bytes docs/chapter_stack_and_queue/deque.md | 18 +++---- .../queue.assets/queue_operations.png | Bin 59130 -> 58956 bytes docs/chapter_stack_and_queue/queue.md | 50 +++++++++--------- 29 files changed, 184 insertions(+), 189 deletions(-) create mode 100644 codes/python/.gitignore diff --git a/.gitignore b/.gitignore index 52026b066..8b0e01afd 100644 --- a/.gitignore +++ b/.gitignore @@ -4,15 +4,10 @@ # Editor .vscode/ .idea/ -cmake-build-debug/ hello-algo.iml -*.dSYM/ # mkdocs files site/ .cache/ codes/scripts docs/overrides/ - -# python files -__pycache__ diff --git a/codes/c/chapter_stack_and_queue/array_queue.c b/codes/c/chapter_stack_and_queue/array_queue.c index 74d45c849..f0edbe6af 100644 --- a/codes/c/chapter_stack_and_queue/array_queue.c +++ b/codes/c/chapter_stack_and_queue/array_queue.c @@ -54,7 +54,7 @@ int peek(ArrayQueue *queue) { } /* 入队 */ -void offer(ArrayQueue *queue, int num) { +void push(ArrayQueue *queue, int num) { if (size(queue) == capacity(queue)) { printf("队列已满\r\n"); return; @@ -93,11 +93,11 @@ int main() { ArrayQueue *queue = newArrayQueue(capacity); /* 元素入队 */ - offer(queue, 1); - offer(queue, 3); - offer(queue, 2); - offer(queue, 5); - offer(queue, 4); + push(queue, 1); + push(queue, 3); + push(queue, 2); + push(queue, 5); + push(queue, 4); printf("队列 queue = "); printArrayQueue(queue); @@ -120,7 +120,7 @@ int main() { /* 测试环形数组 */ for (int i = 0; i < 10; i++) { - offer(queue, i); + push(queue, i); poll(queue); printf("第 %d 轮入队 + 出队后 queue = ", i); printArrayQueue(queue); diff --git a/codes/cpp/chapter_stack_and_queue/array_queue.cpp b/codes/cpp/chapter_stack_and_queue/array_queue.cpp index 1090905e1..8e92c620f 100644 --- a/codes/cpp/chapter_stack_and_queue/array_queue.cpp +++ b/codes/cpp/chapter_stack_and_queue/array_queue.cpp @@ -42,7 +42,7 @@ public: } /* 入队 */ - void offer(int num) { + void push(int num) { if (queSize == queCapacity) { cout << "队列已满" << endl; return; @@ -90,11 +90,11 @@ int main() { ArrayQueue* queue = new ArrayQueue(capacity); /* 元素入队 */ - queue->offer(1); - queue->offer(3); - queue->offer(2); - queue->offer(5); - queue->offer(4); + queue->push(1); + queue->push(3); + queue->push(2); + queue->push(5); + queue->push(4); cout << "队列 queue = "; PrintUtil::printVector(queue->toVector()); @@ -117,7 +117,7 @@ int main() { /* 测试环形数组 */ for (int i = 0; i < 10; i++) { - queue->offer(i); + queue->push(i); queue->poll(); cout << "第 " << i << " 轮入队 + 出队后 queue = "; PrintUtil::printVector(queue->toVector()); diff --git a/codes/cpp/chapter_stack_and_queue/linkedlist_queue.cpp b/codes/cpp/chapter_stack_and_queue/linkedlist_queue.cpp index 6c830ff8e..3b1afc26c 100644 --- a/codes/cpp/chapter_stack_and_queue/linkedlist_queue.cpp +++ b/codes/cpp/chapter_stack_and_queue/linkedlist_queue.cpp @@ -35,7 +35,7 @@ public: } /* 入队 */ - void offer(int num) { + void push(int num) { // 尾结点后添加 num ListNode* node = new ListNode(num); // 如果队列为空,则令头、尾结点都指向该结点 @@ -88,11 +88,11 @@ int main() { LinkedListQueue* queue = new LinkedListQueue(); /* 元素入队 */ - queue->offer(1); - queue->offer(3); - queue->offer(2); - queue->offer(5); - queue->offer(4); + queue->push(1); + queue->push(3); + queue->push(2); + queue->push(5); + queue->push(4); cout << "队列 queue = "; PrintUtil::printVector(queue->toVector()); diff --git a/codes/csharp/chapter_stack_and_queue/array_queue.cs b/codes/csharp/chapter_stack_and_queue/array_queue.cs index 9491b0ef9..ca84dc93a 100644 --- a/codes/csharp/chapter_stack_and_queue/array_queue.cs +++ b/codes/csharp/chapter_stack_and_queue/array_queue.cs @@ -41,7 +41,7 @@ namespace hello_algo.chapter_stack_and_queue } /* 入队 */ - public void offer(int num) + public void push(int num) { if (queSize == capacity()) { @@ -97,11 +97,11 @@ namespace hello_algo.chapter_stack_and_queue ArrayQueue queue = new ArrayQueue(capacity); /* 元素入队 */ - queue.offer(1); - queue.offer(3); - queue.offer(2); - queue.offer(5); - queue.offer(4); + queue.push(1); + queue.push(3); + queue.push(2); + queue.push(5); + queue.push(4); Console.WriteLine("队列 queue = " + string.Join(",", queue.toArray())); /* 访问队首元素 */ @@ -123,7 +123,7 @@ namespace hello_algo.chapter_stack_and_queue /* 测试环形数组 */ for (int i = 0; i < 10; i++) { - queue.offer(i); + queue.push(i); queue.poll(); Console.WriteLine("第 " + i + " 轮入队 + 出队后 queue = " + string.Join(",", queue.toArray())); } diff --git a/codes/csharp/chapter_stack_and_queue/linkedlist_queue.cs b/codes/csharp/chapter_stack_and_queue/linkedlist_queue.cs index 70816c8f0..4ee650fdc 100644 --- a/codes/csharp/chapter_stack_and_queue/linkedlist_queue.cs +++ b/codes/csharp/chapter_stack_and_queue/linkedlist_queue.cs @@ -34,7 +34,7 @@ namespace hello_algo.chapter_stack_and_queue } /* 入队 */ - public void offer(int num) + public void push(int num) { // 尾结点后添加 num ListNode node = new ListNode(num); @@ -97,11 +97,11 @@ namespace hello_algo.chapter_stack_and_queue LinkedListQueue queue = new LinkedListQueue(); /* 元素入队 */ - queue.offer(1); - queue.offer(3); - queue.offer(2); - queue.offer(5); - queue.offer(4); + queue.push(1); + queue.push(3); + queue.push(2); + queue.push(5); + queue.push(4); Console.WriteLine("队列 queue = " + String.Join(",", queue.toArray())); /* 访问队首元素 */ diff --git a/codes/go/chapter_stack_and_queue/array_queue.go b/codes/go/chapter_stack_and_queue/array_queue.go index 95970bc77..5213cb474 100644 --- a/codes/go/chapter_stack_and_queue/array_queue.go +++ b/codes/go/chapter_stack_and_queue/array_queue.go @@ -32,8 +32,8 @@ func (q *arrayQueue) isEmpty() bool { return q.queSize == 0 } -// offer 入队 -func (q *arrayQueue) offer(num int) { +// push 入队 +func (q *arrayQueue) push(num int) { // 当 rear == queCapacity 表示队列已满 if q.queSize == q.queCapacity { return diff --git a/codes/go/chapter_stack_and_queue/deque_test.go b/codes/go/chapter_stack_and_queue/deque_test.go index 4c0f2f533..25deec25c 100644 --- a/codes/go/chapter_stack_and_queue/deque_test.go +++ b/codes/go/chapter_stack_and_queue/deque_test.go @@ -54,11 +54,11 @@ func TestLinkedListDeque(t *testing.T) { deque := newLinkedListDeque() // 元素入队 - deque.offerLast(2) - deque.offerLast(5) - deque.offerLast(4) - deque.offerFirst(3) - deque.offerFirst(1) + deque.pushLast(2) + deque.pushLast(5) + deque.pushLast(4) + deque.pushFirst(3) + deque.pushFirst(1) fmt.Print("队列 deque = ") PrintList(deque.toList()) @@ -87,12 +87,12 @@ func TestLinkedListDeque(t *testing.T) { // BenchmarkArrayQueue 67.92 ns/op in Mac M1 Pro func BenchmarkLinkedListDeque(b *testing.B) { - stack := newLinkedListDeque() + deque := newLinkedListDeque() // use b.N for looping for i := 0; i < b.N; i++ { - stack.offerLast(777) + deque.pushLast(777) } for i := 0; i < b.N; i++ { - stack.pollFirst() + deque.pollFirst() } } diff --git a/codes/go/chapter_stack_and_queue/linkedlist_deque.go b/codes/go/chapter_stack_and_queue/linkedlist_deque.go index b1db77ca6..763ebd943 100644 --- a/codes/go/chapter_stack_and_queue/linkedlist_deque.go +++ b/codes/go/chapter_stack_and_queue/linkedlist_deque.go @@ -20,13 +20,13 @@ func newLinkedListDeque() *linkedListDeque { } } -// offerFirst 队首元素入队 -func (s *linkedListDeque) offerFirst(value any) { +// pushFirst 队首元素入队 +func (s *linkedListDeque) pushFirst(value any) { s.data.PushFront(value) } -// offerLast 队尾元素入队 -func (s *linkedListDeque) offerLast(value any) { +// pushLast 队尾元素入队 +func (s *linkedListDeque) pushLast(value any) { s.data.PushBack(value) } diff --git a/codes/go/chapter_stack_and_queue/linkedlist_queue.go b/codes/go/chapter_stack_and_queue/linkedlist_queue.go index f5d164a82..303674cd7 100644 --- a/codes/go/chapter_stack_and_queue/linkedlist_queue.go +++ b/codes/go/chapter_stack_and_queue/linkedlist_queue.go @@ -21,8 +21,8 @@ func newLinkedListQueue() *linkedListQueue { } } -// offer 入队 -func (s *linkedListQueue) offer(value any) { +// push 入队 +func (s *linkedListQueue) push(value any) { s.data.PushBack(value) } diff --git a/codes/go/chapter_stack_and_queue/queue_test.go b/codes/go/chapter_stack_and_queue/queue_test.go index 0104cea03..c9dfa2d75 100644 --- a/codes/go/chapter_stack_and_queue/queue_test.go +++ b/codes/go/chapter_stack_and_queue/queue_test.go @@ -51,11 +51,11 @@ func TestArrayQueue(t *testing.T) { queue := newArrayQueue(capacity) // 元素入队 - queue.offer(1) - queue.offer(3) - queue.offer(2) - queue.offer(5) - queue.offer(4) + queue.push(1) + queue.push(3) + queue.push(2) + queue.push(5) + queue.push(4) fmt.Print("队列 queue = ") PrintSlice(queue.toSlice()) @@ -78,7 +78,7 @@ func TestArrayQueue(t *testing.T) { /* 测试环形数组 */ for i := 0; i < 10; i++ { - queue.offer(i) + queue.push(i) queue.poll() fmt.Print("第", i, "轮入队 + 出队后 queue =") PrintSlice(queue.toSlice()) @@ -90,11 +90,11 @@ func TestLinkedListQueue(t *testing.T) { queue := newLinkedListQueue() // 元素入队 - queue.offer(1) - queue.offer(3) - queue.offer(2) - queue.offer(5) - queue.offer(4) + queue.push(1) + queue.push(3) + queue.push(2) + queue.push(5) + queue.push(4) fmt.Print("队列 queue = ") PrintList(queue.toList()) @@ -119,24 +119,24 @@ func TestLinkedListQueue(t *testing.T) { // BenchmarkArrayQueue 8 ns/op in Mac M1 Pro func BenchmarkArrayQueue(b *testing.B) { capacity := 1000 - stack := newArrayQueue(capacity) + queue := newArrayQueue(capacity) // use b.N for looping for i := 0; i < b.N; i++ { - stack.offer(777) + queue.push(777) } for i := 0; i < b.N; i++ { - stack.poll() + queue.poll() } } // BenchmarkLinkedQueue 62.66 ns/op in Mac M1 Pro func BenchmarkLinkedQueue(b *testing.B) { - stack := newLinkedListQueue() + queue := newLinkedListQueue() // use b.N for looping for i := 0; i < b.N; i++ { - stack.offer(777) + queue.push(777) } for i := 0; i < b.N; i++ { - stack.poll() + queue.poll() } } diff --git a/codes/go/chapter_stack_and_queue/stack_test.go b/codes/go/chapter_stack_and_queue/stack_test.go index a4cf338b7..d881c5ec8 100644 --- a/codes/go/chapter_stack_and_queue/stack_test.go +++ b/codes/go/chapter_stack_and_queue/stack_test.go @@ -22,7 +22,7 @@ func TestStack(t *testing.T) { stack = append(stack, 2) stack = append(stack, 5) stack = append(stack, 4) - fmt.Print("栈 = ") + fmt.Print("栈 stack = ") PrintSlice(stack) /* 访问栈顶元素 */ diff --git a/codes/java/chapter_stack_and_queue/array_queue.java b/codes/java/chapter_stack_and_queue/array_queue.java index 030fb06bf..8552fd113 100644 --- a/codes/java/chapter_stack_and_queue/array_queue.java +++ b/codes/java/chapter_stack_and_queue/array_queue.java @@ -35,7 +35,7 @@ class ArrayQueue { } /* 入队 */ - public void offer(int num) { + public void push(int num) { if (queSize == capacity()) { System.out.println("队列已满"); return; @@ -82,11 +82,11 @@ public class array_queue { ArrayQueue queue = new ArrayQueue(capacity); /* 元素入队 */ - queue.offer(1); - queue.offer(3); - queue.offer(2); - queue.offer(5); - queue.offer(4); + queue.push(1); + queue.push(3); + queue.push(2); + queue.push(5); + queue.push(4); System.out.println("队列 queue = " + Arrays.toString(queue.toArray())); /* 访问队首元素 */ @@ -107,7 +107,7 @@ public class array_queue { /* 测试环形数组 */ for (int i = 0; i < 10; i++) { - queue.offer(i); + queue.push(i); queue.poll(); System.out.println("第 " + i + " 轮入队 + 出队后 queue = " + Arrays.toString(queue.toArray())); } diff --git a/codes/java/chapter_stack_and_queue/linkedlist_deque.java b/codes/java/chapter_stack_and_queue/linkedlist_deque.java index 3c1503e46..c8e344c38 100644 --- a/codes/java/chapter_stack_and_queue/linkedlist_deque.java +++ b/codes/java/chapter_stack_and_queue/linkedlist_deque.java @@ -39,7 +39,7 @@ class LinkedListDeque { } /* 入队操作 */ - private void offer(int num, boolean isFront) { + private void push(int num, boolean isFront) { ListNode node = new ListNode(num); // 若链表为空,则令 front, rear 都指向 node if (isEmpty()) @@ -61,13 +61,13 @@ class LinkedListDeque { } /* 队首入队 */ - public void offerFirst(int num) { - offer(num, true); + public void pushFirst(int num) { + push(num, true); } /* 队尾入队 */ - public void offerLast(int num) { - offer(num, false); + public void pushLast(int num) { + push(num, false); } /* 出队操作 */ @@ -141,9 +141,9 @@ public class linkedlist_deque { public static void main(String[] args) { /* 初始化双向队列 */ LinkedListDeque deque = new LinkedListDeque(); - deque.offerLast(3); - deque.offerLast(2); - deque.offerLast(5); + deque.pushLast(3); + deque.pushLast(2); + deque.pushLast(5); System.out.print("双点队列 deque = "); deque.print(); @@ -154,10 +154,10 @@ public class linkedlist_deque { System.out.println("队尾元素 peekLast = " + peekLast); /* 元素入队 */ - deque.offerLast(4); + deque.pushLast(4); System.out.print("元素 4 队尾入队后 deque = "); deque.print(); - deque.offerFirst(1); + deque.pushFirst(1); System.out.print("元素 1 队首入队后 deque = "); deque.print(); diff --git a/codes/java/chapter_stack_and_queue/linkedlist_queue.java b/codes/java/chapter_stack_and_queue/linkedlist_queue.java index 82e2571c2..e7ac6a49c 100644 --- a/codes/java/chapter_stack_and_queue/linkedlist_queue.java +++ b/codes/java/chapter_stack_and_queue/linkedlist_queue.java @@ -7,7 +7,6 @@ package chapter_stack_and_queue; import java.util.*; -import include.*; /* 基于链表实现的队列 */ class LinkedListQueue { @@ -30,7 +29,7 @@ class LinkedListQueue { } /* 入队 */ - public void offer(int num) { + public void push(int num) { // 尾结点后添加 num ListNode node = new ListNode(num); // 如果队列为空,则令头、尾结点都指向该结点 @@ -79,11 +78,11 @@ public class linkedlist_queue { LinkedListQueue queue = new LinkedListQueue(); /* 元素入队 */ - queue.offer(1); - queue.offer(3); - queue.offer(2); - queue.offer(5); - queue.offer(4); + queue.push(1); + queue.push(3); + queue.push(2); + queue.push(5); + queue.push(4); System.out.println("队列 queue = " + Arrays.toString(queue.toArray())); /* 访问队首元素 */ diff --git a/codes/javascript/chapter_stack_and_queue/array_queue.js b/codes/javascript/chapter_stack_and_queue/array_queue.js index 6dd278c66..fc74a958e 100644 --- a/codes/javascript/chapter_stack_and_queue/array_queue.js +++ b/codes/javascript/chapter_stack_and_queue/array_queue.js @@ -30,7 +30,7 @@ class ArrayQueue { } /* 入队 */ - offer(num) { + push(num) { if (this.size == this.capacity) throw new Error("队列已满"); // 计算尾指针,指向队尾索引 + 1 @@ -75,11 +75,11 @@ const capacity = 10; const queue = new ArrayQueue(capacity); /* 元素入队 */ -queue.offer(1); -queue.offer(3); -queue.offer(2); -queue.offer(5); -queue.offer(4); +queue.push(1); +queue.push(3); +queue.push(2); +queue.push(5); +queue.push(4); console.log("队列 queue =", queue.toArray()); /* 访问队首元素 */ @@ -100,7 +100,7 @@ console.log("队列是否为空 = " + empty); /* 测试环形数组 */ for (let i = 0; i < 10; i++) { - queue.offer(i); + queue.push(i); queue.poll(); console.log("第 " + i + " 轮入队 + 出队后 queue =", queue.toArray()); } diff --git a/codes/javascript/chapter_stack_and_queue/linkedlist_queue.js b/codes/javascript/chapter_stack_and_queue/linkedlist_queue.js index 62c2a3834..5f17e99cc 100644 --- a/codes/javascript/chapter_stack_and_queue/linkedlist_queue.js +++ b/codes/javascript/chapter_stack_and_queue/linkedlist_queue.js @@ -28,7 +28,7 @@ class LinkedListQueue { } /* 入队 */ - offer(num) { + push(num) { // 尾结点后添加 num const node = new ListNode(num); // 如果队列为空,则令头、尾结点都指向该结点 @@ -78,11 +78,11 @@ class LinkedListQueue { const queue = new LinkedListQueue(); /* 元素入队 */ -queue.offer(1); -queue.offer(3); -queue.offer(2); -queue.offer(5); -queue.offer(4); +queue.push(1); +queue.push(3); +queue.push(2); +queue.push(5); +queue.push(4); console.log("队列 queue = " + queue.toArray()); /* 访问队首元素 */ diff --git a/codes/python/.gitignore b/codes/python/.gitignore new file mode 100644 index 000000000..bee8a64b7 --- /dev/null +++ b/codes/python/.gitignore @@ -0,0 +1 @@ +__pycache__ diff --git a/codes/swift/chapter_stack_and_queue/array_queue.swift b/codes/swift/chapter_stack_and_queue/array_queue.swift index da5a75087..c04da4362 100644 --- a/codes/swift/chapter_stack_and_queue/array_queue.swift +++ b/codes/swift/chapter_stack_and_queue/array_queue.swift @@ -31,7 +31,7 @@ class ArrayQueue { } /* 入队 */ - func offer(num: Int) { + func push(num: Int) { if size() == capacity() { print("队列已满") return @@ -82,11 +82,11 @@ enum _ArrayQueue { let queue = ArrayQueue(capacity: capacity) /* 元素入队 */ - queue.offer(num: 1) - queue.offer(num: 3) - queue.offer(num: 2) - queue.offer(num: 5) - queue.offer(num: 4) + queue.push(num: 1) + queue.push(num: 3) + queue.push(num: 2) + queue.push(num: 5) + queue.push(num: 4) print("队列 queue = \(queue.toArray())") /* 访问队首元素 */ @@ -107,7 +107,7 @@ enum _ArrayQueue { /* 测试环形数组 */ for i in 0 ..< 10 { - queue.offer(num: i) + queue.push(num: i) queue.poll() print("第 \(i) 轮入队 + 出队后 queue = \(queue.toArray())") } diff --git a/codes/swift/chapter_stack_and_queue/linkedlist_queue.swift b/codes/swift/chapter_stack_and_queue/linkedlist_queue.swift index 1d671742b..bc2d5231b 100644 --- a/codes/swift/chapter_stack_and_queue/linkedlist_queue.swift +++ b/codes/swift/chapter_stack_and_queue/linkedlist_queue.swift @@ -25,7 +25,7 @@ class LinkedListQueue { } /* 入队 */ - func offer(num: Int) { + func push(num: Int) { // 尾结点后添加 num let node = ListNode(x: num) // 如果队列为空,则令头、尾结点都指向该结点 @@ -79,11 +79,11 @@ enum _LinkedListQueue { let queue = LinkedListQueue() /* 元素入队 */ - queue.offer(num: 1) - queue.offer(num: 3) - queue.offer(num: 2) - queue.offer(num: 5) - queue.offer(num: 4) + queue.push(num: 1) + queue.push(num: 3) + queue.push(num: 2) + queue.push(num: 5) + queue.push(num: 4) print("队列 queue = \(queue.toArray())") /* 访问队首元素 */ diff --git a/codes/typescript/chapter_stack_and_queue/array_queue.ts b/codes/typescript/chapter_stack_and_queue/array_queue.ts index ff4892256..cd4bf9096 100644 --- a/codes/typescript/chapter_stack_and_queue/array_queue.ts +++ b/codes/typescript/chapter_stack_and_queue/array_queue.ts @@ -31,7 +31,7 @@ class ArrayQueue { } /* 入队 */ - offer(num: number): void { + push(num: number): void { if (this.size == this.capacity) throw new Error("队列已满"); // 计算尾指针,指向队尾索引 + 1 @@ -74,11 +74,11 @@ const capacity = 10; const queue = new ArrayQueue(capacity); /* 元素入队 */ -queue.offer(1); -queue.offer(3); -queue.offer(2); -queue.offer(5); -queue.offer(4); +queue.push(1); +queue.push(3); +queue.push(2); +queue.push(5); +queue.push(4); console.log("队列 queue =", queue.toArray()); /* 访问队首元素 */ @@ -99,7 +99,7 @@ console.log("队列是否为空 = " + empty); /* 测试环形数组 */ for (let i = 0; i < 10; i++) { - queue.offer(i); + queue.push(i); queue.poll(); console.log("第 " + i + " 轮入队 + 出队后 queue =", queue.toArray()); console.log(queue.toArray()); diff --git a/codes/typescript/chapter_stack_and_queue/linkedlist_queue.ts b/codes/typescript/chapter_stack_and_queue/linkedlist_queue.ts index 6dabdbc0c..3c8759291 100644 --- a/codes/typescript/chapter_stack_and_queue/linkedlist_queue.ts +++ b/codes/typescript/chapter_stack_and_queue/linkedlist_queue.ts @@ -28,7 +28,7 @@ class LinkedListQueue { } /* 入队 */ - offer(num: number): void { + push(num: number): void { // 尾结点后添加 num const node = new ListNode(num); // 如果队列为空,则令头、尾结点都指向该结点 @@ -78,11 +78,11 @@ class LinkedListQueue { const queue = new LinkedListQueue(); /* 元素入队 */ -queue.offer(1); -queue.offer(3); -queue.offer(2); -queue.offer(5); -queue.offer(4); +queue.push(1); +queue.push(3); +queue.push(2); +queue.push(5); +queue.push(4); console.log("队列 queue = " + queue.toArray()); /* 访问队首元素 */ diff --git a/codes/zig/chapter_stack_and_queue/array_queue.zig b/codes/zig/chapter_stack_and_queue/array_queue.zig index e9949a01e..8a3938f96 100644 --- a/codes/zig/chapter_stack_and_queue/array_queue.zig +++ b/codes/zig/chapter_stack_and_queue/array_queue.zig @@ -50,7 +50,7 @@ pub fn ArrayQueue(comptime T: type) type { } // 入队 - pub fn offer(self: *Self, num: T) !void { + pub fn push(self: *Self, num: T) !void { if (self.size() == self.capacity()) { std.debug.print("队列已满\n", .{}); return; @@ -102,11 +102,11 @@ pub fn main() !void { defer queue.deinit(); // 元素入队 - try queue.offer(1); - try queue.offer(3); - try queue.offer(2); - try queue.offer(5); - try queue.offer(4); + try queue.push(1); + try queue.push(3); + try queue.push(2); + try queue.push(5); + try queue.push(4); std.debug.print("队列 queue = ", .{}); inc.PrintUtil.printArray(i32, try queue.toArray()); @@ -130,7 +130,7 @@ pub fn main() !void { // 测试环形数组 var i: i32 = 0; while (i < 10) : (i += 1) { - try queue.offer(i); + try queue.push(i); _ = queue.poll(); std.debug.print("\n第 {} 轮入队 + 出队后 queue = ", .{i}); inc.PrintUtil.printArray(i32, try queue.toArray()); diff --git a/codes/zig/chapter_stack_and_queue/linkedlist_deque.zig b/codes/zig/chapter_stack_and_queue/linkedlist_deque.zig index 3ac4ac722..3fe6c5b03 100644 --- a/codes/zig/chapter_stack_and_queue/linkedlist_deque.zig +++ b/codes/zig/chapter_stack_and_queue/linkedlist_deque.zig @@ -62,7 +62,7 @@ pub fn LinkedListDeque(comptime T: type) type { } // 入队操作 - pub fn offer(self: *Self, num: T, isFront: bool) !void { + pub fn push(self: *Self, num: T, isFront: bool) !void { var node = try self.mem_allocator.create(ListNode(T)); node.init(num); // 若链表为空,则令 front, rear 都指向 node @@ -86,13 +86,13 @@ pub fn LinkedListDeque(comptime T: type) type { } // 队首入队 - pub fn offerFirst(self: *Self, num: T) !void { - try self.offer(num, true); + pub fn pushFirst(self: *Self, num: T) !void { + try self.push(num, true); } // 队尾入队 - pub fn offerLast(self: *Self, num: T) !void { - try self.offer(num, false); + pub fn pushLast(self: *Self, num: T) !void { + try self.push(num, false); } // 出队操作 @@ -187,7 +187,7 @@ pub fn main() !void { // 队尾入队 for (nums) |num| { - try deque.offerLast(num); + try deque.pushLast(num); std.debug.print("\n元素 {} 队尾入队后,队列为\n", .{num}); try deque.print(); } @@ -203,7 +203,7 @@ pub fn main() !void { // 队首入队 for (nums) |num| { - try deque.offerFirst(num); + try deque.pushFirst(num); std.debug.print("\n元素 {} 队首入队后,队列为\n", .{num}); try deque.print(); } diff --git a/codes/zig/chapter_stack_and_queue/linkedlist_queue.zig b/codes/zig/chapter_stack_and_queue/linkedlist_queue.zig index 162958e3f..ea8735e6a 100644 --- a/codes/zig/chapter_stack_and_queue/linkedlist_queue.zig +++ b/codes/zig/chapter_stack_and_queue/linkedlist_queue.zig @@ -50,7 +50,7 @@ pub fn LinkedListQueue(comptime T: type) type { } // 入队 - pub fn offer(self: *Self, num: T) !void { + pub fn push(self: *Self, num: T) !void { // 尾结点后添加 num var node = try self.mem_allocator.create(inc.ListNode(T)); node.init(num); @@ -98,11 +98,11 @@ pub fn main() !void { defer queue.deinit(); // 元素入队 - try queue.offer(1); - try queue.offer(3); - try queue.offer(2); - try queue.offer(5); - try queue.offer(4); + try queue.push(1); + try queue.push(3); + try queue.push(2); + try queue.push(5); + try queue.push(4); std.debug.print("队列 queue = ", .{}); inc.PrintUtil.printArray(i32, try queue.toArray()); diff --git a/docs/chapter_stack_and_queue/deque.assets/deque_operations.png b/docs/chapter_stack_and_queue/deque.assets/deque_operations.png index 242ea98c58d0efabc7cce9a9e0d98f77812a8a97..45ee775b47d6944ef5ab8e72055f62aa1ab41c52 100644 GIT binary patch literal 66556 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 E2jEbd^Z)<= literal 62379 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 z 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

)8@h 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 diff --git a/docs/chapter_stack_and_queue/deque.md b/docs/chapter_stack_and_queue/deque.md index 0a1bdce07..6cdbbd95e 100644 --- a/docs/chapter_stack_and_queue/deque.md +++ b/docs/chapter_stack_and_queue/deque.md @@ -12,16 +12,16 @@ comments: true ## 5.3.1. 双向队列常用操作 -双向队列的常用操作见下表(方法命名以 Java 为例)。 +双向队列的常用操作见下表,方法名需根据特定语言来确定。

Table. 双向队列的常用操作

-| 方法 | 描述 | 时间复杂度 | +| 方法名 | 描述 | 时间复杂度 | | ------------ | ---------------- | ---------- | -| offerFirst() | 将元素添加至队首 | $O(1)$ | -| offerLast() | 将元素添加至队尾 | $O(1)$ | +| pushFirst() | 将元素添加至队首 | $O(1)$ | +| pushLast() | 将元素添加至队尾 | $O(1)$ | | pollFirst() | 删除队首元素 | $O(1)$ | | pollLast() | 删除队尾元素 | $O(1)$ | | peekFirst() | 访问队首元素 | $O(1)$ | @@ -288,7 +288,7 @@ comments: true } /* 入队操作 */ - private void offer(int num, boolean isFront) { + private void push(int num, boolean isFront) { ListNode node = new ListNode(num); // 若链表为空,则令 front, rear 都指向 node if (isEmpty()) @@ -310,13 +310,13 @@ comments: true } /* 队首入队 */ - public void offerFirst(int num) { - offer(num, true); + public void pushFirst(int num) { + push(num, true); } /* 队尾入队 */ - public void offerLast(int num) { - offer(num, false); + public void pushLast(int num) { + push(num, false); } /* 出队操作 */ diff --git a/docs/chapter_stack_and_queue/queue.assets/queue_operations.png b/docs/chapter_stack_and_queue/queue.assets/queue_operations.png index b165cd10d051fb4200f794e8d62664df297ad7a7..ad6347be8ec8aef80bda541e12581b5c3e76bf4c 100644 GIT binary patch delta 30456 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 delta 30643 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 Table. 队列的常用操作

-| 方法 | 描述 | 时间复杂度 | -| --------- | ---------------------------- | ---------- | -| offer() | 元素入队,即将元素添加至队尾 | $O(1)$ | -| poll() | 队首元素出队 | $O(1)$ | -| front() | 访问队首元素 | $O(1)$ | -| size() | 获取队列的长度 | $O(1)$ | -| isEmpty() | 判断队列是否为空 | $O(1)$ | +| 方法名 | 描述 | 时间复杂度 | +| --------- | -------------------------- | -------- | +| push() | 元素入队,即将元素添加至队尾 | $O(1)$ | +| poll() | 队首元素出队 | $O(1)$ | +| front() | 访问队首元素 | $O(1)$ | +| size() | 获取队列的长度 | $O(1)$ | +| isEmpty() | 判断队列是否为空 | $O(1)$ |
@@ -302,7 +302,7 @@ comments: true return size() == 0; } /* 入队 */ - public void offer(int num) { + public void push(int num) { // 尾结点后添加 num ListNode node = new ListNode(num); // 如果队列为空,则令头、尾结点都指向该结点 @@ -361,7 +361,7 @@ comments: true return queSize == 0; } /* 入队 */ - void offer(int num) { + void push(int num) { // 尾结点后添加 num ListNode* node = new ListNode(num); // 如果队列为空,则令头、尾结点都指向该结点 @@ -459,8 +459,8 @@ comments: true } } - // offer 入队 - func (s *linkedListQueue) offer(value any) { + // push 入队 + func (s *linkedListQueue) push(value any) { s.data.PushBack(value) } @@ -515,7 +515,7 @@ comments: true return this.size === 0; } /* 入队 */ - offer(num) { + push(num) { // 尾结点后添加 num const node = new ListNode(num); // 如果队列为空,则令头、尾结点都指向该结点 @@ -567,7 +567,7 @@ comments: true return this.size === 0; } /* 入队 */ - offer(num: number): void { + push(num: number): void { // 尾结点后添加 num const node = new ListNode(num); // 如果队列为空,则令头、尾结点都指向该结点 @@ -630,7 +630,7 @@ comments: true return size() == 0; } /* 入队 */ - public void offer(int num) + public void push(int num) { // 尾结点后添加 num ListNode node = new ListNode(num); @@ -689,7 +689,7 @@ comments: true } /* 入队 */ - func offer(num: Int) { + func push(num: Int) { // 尾结点后添加 num let node = ListNode(x: num) // 如果队列为空,则令头、尾结点都指向该结点 @@ -746,7 +746,7 @@ comments: true 细心的同学可能会发现一个问题,即在入队与出队的过程中,两个指针都在向后移动,**在到达尾部后则无法继续移动了**。 -为了解决此问题,我们可以采取一个取巧方案,**即将数组看作是“环形”的**。具体做法是规定指针越过数组尾部后,再次回到头部接续遍历,这样相当于使数组“首尾相连”了。在环形数组的设定下,获取长度 `size()` 、入队 `offer()` 、出队 `poll()` 方法都需要做相应的取余操作处理,使得当尾指针绕回数组头部时,仍然可以正确处理操作。 +为了解决此问题,我们可以采取一个取巧方案,**即将数组看作是“环形”的**。具体做法是规定指针越过数组尾部后,再次回到头部接续遍历,这样相当于使数组“首尾相连”了。在环形数组的设定下,获取长度 `size()` 、入队 `push()` 、出队 `poll()` 方法都需要做相应的取余操作处理,使得当尾指针绕回数组头部时,仍然可以正确处理操作。 === "Java" @@ -778,7 +778,7 @@ comments: true } /* 入队 */ - public void offer(int num) { + public void push(int num) { if (queSize == capacity()) { System.out.println("队列已满"); return; @@ -848,7 +848,7 @@ comments: true } /* 入队 */ - void offer(int num) { + void push(int num) { if (queSize == queCapacity) { cout << "队列已满" << endl; return; @@ -955,8 +955,8 @@ comments: true return q.queSize == 0 } - // offer 入队 - func (q *arrayQueue) offer(num int) { + // push 入队 + func (q *arrayQueue) push(num int) { // 当 rear == queCapacity 表示队列已满 if q.queSize == q.queCapacity { return @@ -1026,7 +1026,7 @@ comments: true } /* 入队 */ - offer(num) { + push(num) { if (this.size == this.capacity) throw new Error("队列已满"); // 计算尾指针,指向队尾索引 + 1 @@ -1085,7 +1085,7 @@ comments: true } /* 入队 */ - offer(num: number): void { + push(num: number): void { if (this.size == this.capacity) throw new Error("队列已满"); // 计算尾指针,指向队尾索引 + 1 @@ -1155,7 +1155,7 @@ comments: true } /* 入队 */ - public void offer(int num) + public void push(int num) { if (queSize == capacity()) { @@ -1220,7 +1220,7 @@ comments: true } /* 入队 */ - func offer(num: Int) { + func push(num: Int) { if size() == capacity() { print("队列已满") return