队列的实现
程序员文章站
2022-03-01 13:02:11
...
队列实现以下功能
enqueue() 入队方法
dequeue() 出队方法
top() 获取队首值
size() 获取队列的元素个数
clear() 清空队列
基于数组
// 基于数组
class Queue {
constructor() {
this.queue = []
this.count = 0
}
// 入队
enQueue(item) {
this.queue[this.count++] = item
}
// 出队
deQueue() {
if (this.isEmpty()) {
return
}
this.count--
return this.queue.shift()
}
isEmpty() {
return this.count === 0
}
// 获取队首元素值
top() {
return this.queue[0]
}
// 获取元素个数
size() {
return this.count
}
// 清空队列
clear() {
this.queue = []
this.count = 0
}
}
基于对象
class Queue1 {
constructor() {
this.queue = {}
this.count = 0
this.head = 0 // 用于记录队首的键
}
// 入队
enQueue(item) {
this.queue[this.count++] = item
}
// 出队
deQueue() {
if (this.isEmpty()) {
return
}
const data = this.queue[this.head]
delete this.queue[this.head]
this.head++
return data
}
isEmpty() {
return this.size() === 0
}
// 获取队首元素值
top() {
return this.queue[0]
}
// 获取元素个数
size() {
return this.count - this.head
}
// 清空队列
clear() {
this.queue = {}
this.count = 0
this.head = 0
}
}
1
下一篇: Ubuntu 添加新用户