|
|
@ -1027,8 +1027,10 @@ comments: true
|
|
|
|
|
|
|
|
|
|
|
|
/* 入队 */
|
|
|
|
/* 入队 */
|
|
|
|
push(num) {
|
|
|
|
push(num) {
|
|
|
|
if (this.size == this.capacity)
|
|
|
|
if (this.size == this.capacity) {
|
|
|
|
throw new Error("队列已满");
|
|
|
|
console.log("队列已满");
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
// 计算尾指针,指向队尾索引 + 1
|
|
|
|
// 计算尾指针,指向队尾索引 + 1
|
|
|
|
// 通过取余操作,实现 rear 越过数组尾部后回到头部
|
|
|
|
// 通过取余操作,实现 rear 越过数组尾部后回到头部
|
|
|
|
const rear = (this.#front + this.size) % this.capacity;
|
|
|
|
const rear = (this.#front + this.size) % this.capacity;
|
|
|
@ -1065,7 +1067,7 @@ comments: true
|
|
|
|
private queSize: number; // 队列长度
|
|
|
|
private queSize: number; // 队列长度
|
|
|
|
|
|
|
|
|
|
|
|
constructor(capacity: number) {
|
|
|
|
constructor(capacity: number) {
|
|
|
|
this.nums = new Array<number>(capacity);
|
|
|
|
this.nums = new Array(capacity);
|
|
|
|
this.front = this.queSize = 0;
|
|
|
|
this.front = this.queSize = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -1086,8 +1088,10 @@ comments: true
|
|
|
|
|
|
|
|
|
|
|
|
/* 入队 */
|
|
|
|
/* 入队 */
|
|
|
|
push(num: number): void {
|
|
|
|
push(num: number): void {
|
|
|
|
if (this.size == this.capacity)
|
|
|
|
if (this.size == this.capacity) {
|
|
|
|
throw new Error("队列已满");
|
|
|
|
console.log("队列已满");
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
// 计算尾指针,指向队尾索引 + 1
|
|
|
|
// 计算尾指针,指向队尾索引 + 1
|
|
|
|
// 通过取余操作,实现 rear 越过数组尾部后回到头部
|
|
|
|
// 通过取余操作,实现 rear 越过数组尾部后回到头部
|
|
|
|
const rear = (this.front + this.queSize) % this.capacity;
|
|
|
|
const rear = (this.front + this.queSize) % this.capacity;
|
|
|
|