mirror of
https://github.com/krahets/hello-algo.git
synced 2025-11-02 04:31:55 +08:00
refactor: Replace poll with pop in Queue and Deque (#415)
This commit is contained in:
@ -68,7 +68,7 @@ class ArrayDeque {
|
||||
}
|
||||
|
||||
/* 队首出队 */
|
||||
pollFirst() {
|
||||
popFirst() {
|
||||
const num = this.peekFirst();
|
||||
// 队首指针向后移动一位
|
||||
this.#front = this.index(this.#front + 1);
|
||||
@ -77,7 +77,7 @@ class ArrayDeque {
|
||||
}
|
||||
|
||||
/* 队尾出队 */
|
||||
pollLast() {
|
||||
popLast() {
|
||||
const num = this.peekLast();
|
||||
this.#queSize--;
|
||||
return num;
|
||||
@ -132,10 +132,10 @@ deque.pushFirst(1);
|
||||
console.log("元素 1 队首入队后 deque = [" + deque.toArray() + "]");
|
||||
|
||||
/* 元素出队 */
|
||||
const pollLast = deque.pollLast();
|
||||
console.log("队尾出队元素 = " + pollLast + ",队尾出队后 deque = [" + deque.toArray() + "]");
|
||||
const pollFirst = deque.pollFirst();
|
||||
console.log("队首出队元素 = " + pollFirst + ",队首出队后 deque = [" + deque.toArray()+ "]");
|
||||
const popLast = deque.popLast();
|
||||
console.log("队尾出队元素 = " + popLast + ",队尾出队后 deque = [" + deque.toArray() + "]");
|
||||
const popFirst = deque.popFirst();
|
||||
console.log("队首出队元素 = " + popFirst + ",队首出队后 deque = [" + deque.toArray()+ "]");
|
||||
|
||||
/* 获取双向队列的长度 */
|
||||
const size = deque.size();
|
||||
|
||||
@ -44,7 +44,7 @@ class ArrayQueue {
|
||||
}
|
||||
|
||||
/* 出队 */
|
||||
poll() {
|
||||
pop() {
|
||||
const num = this.peek();
|
||||
// 队首指针向后移动一位,若越过尾部则返回到数组头部
|
||||
this.#front = (this.#front + 1) % this.capacity;
|
||||
@ -89,8 +89,8 @@ const peek = queue.peek();
|
||||
console.log("队首元素 peek = " + peek);
|
||||
|
||||
/* 元素出队 */
|
||||
const poll = queue.poll();
|
||||
console.log("出队元素 poll = " + poll + ",出队后 queue =", queue.toArray());
|
||||
const pop = queue.pop();
|
||||
console.log("出队元素 pop = " + pop + ",出队后 queue =", queue.toArray());
|
||||
|
||||
/* 获取队列的长度 */
|
||||
const size = queue.size;
|
||||
@ -103,6 +103,6 @@ console.log("队列是否为空 = " + empty);
|
||||
/* 测试环形数组 */
|
||||
for (let i = 0; i < 10; i++) {
|
||||
queue.push(i);
|
||||
queue.poll();
|
||||
queue.pop();
|
||||
console.log("第 " + i + " 轮入队 + 出队后 queue =", queue.toArray());
|
||||
}
|
||||
|
||||
@ -62,7 +62,7 @@ class LinkedListDeque {
|
||||
}
|
||||
|
||||
/* 队尾出队操作 */
|
||||
pollLast() {
|
||||
popLast() {
|
||||
if (this.#queSize === 0) {
|
||||
return null;
|
||||
}
|
||||
@ -79,7 +79,7 @@ class LinkedListDeque {
|
||||
}
|
||||
|
||||
/* 队首出队操作 */
|
||||
pollFirst() {
|
||||
popFirst() {
|
||||
if (this.#queSize === 0) {
|
||||
return null;
|
||||
}
|
||||
@ -151,11 +151,11 @@ console.log("元素 1 队首入队后 linkedListDeque = ");
|
||||
linkedListDeque.print();
|
||||
|
||||
/* 元素出队 */
|
||||
const pollLast = linkedListDeque.pollLast();
|
||||
console.log("队尾出队元素 = " + pollLast + ",队尾出队后 linkedListDeque = ");
|
||||
const popLast = linkedListDeque.popLast();
|
||||
console.log("队尾出队元素 = " + popLast + ",队尾出队后 linkedListDeque = ");
|
||||
linkedListDeque.print();
|
||||
const pollFirst = linkedListDeque.pollFirst();
|
||||
console.log("队首出队元素 = " + pollFirst + ",队首出队后 linkedListDeque = ");
|
||||
const popFirst = linkedListDeque.popFirst();
|
||||
console.log("队首出队元素 = " + popFirst + ",队首出队后 linkedListDeque = ");
|
||||
linkedListDeque.print();
|
||||
|
||||
/* 获取双向队列的长度 */
|
||||
|
||||
@ -44,7 +44,7 @@ class LinkedListQueue {
|
||||
}
|
||||
|
||||
/* 出队 */
|
||||
poll() {
|
||||
pop() {
|
||||
const num = this.peek();
|
||||
// 删除头结点
|
||||
this.#front = this.#front.next;
|
||||
@ -90,8 +90,8 @@ const peek = queue.peek();
|
||||
console.log("队首元素 peek = " + peek);
|
||||
|
||||
/* 元素出队 */
|
||||
const poll = queue.poll();
|
||||
console.log("出队元素 poll = " + poll + ",出队后 queue = " + queue.toArray());
|
||||
const pop = queue.pop();
|
||||
console.log("出队元素 pop = " + pop + ",出队后 queue = " + queue.toArray());
|
||||
|
||||
/* 获取队列的长度 */
|
||||
const size = queue.size;
|
||||
|
||||
@ -23,8 +23,8 @@ console.log("队首元素 peek =", peek);
|
||||
|
||||
/* 元素出队 */
|
||||
// 底层是数组,因此 shift() 方法的时间复杂度为 O(n)
|
||||
const poll = queue.shift();
|
||||
console.log("出队元素 poll =", poll, ",出队后 queue = ", queue);
|
||||
const pop = queue.shift();
|
||||
console.log("出队元素 pop =", pop, ",出队后 queue = ", queue);
|
||||
|
||||
/* 获取队列的长度 */
|
||||
const size = queue.length;
|
||||
|
||||
Reference in New Issue
Block a user