# 链表
# 定义
在计算机科学中,一个**队列(queue)**是一种特殊类型的抽象数据类型或集合。集合中的实体按顺序保存。
队列基本操作有两种:入队和出队。从队列的后端位置添加实体,称为入队;从队列的前端位置移除实体,称为出队。
# 代码实现
# Queue
import LinkedList from 'LinkedList';
export default class Queue {
constructor() {
this.linkedList = nwe LinkedList();
}
isEmpty() {
return !this.linkedList.head;
}
// 读取队列第一个元素值,但不删除
peek() {
if (this.isEmpty()) {
return null;
}
return this.linkedList.head.value;
}
enqueue(value) {
this.linkedList.append(value);
}
dequeue() {
const removed = this.linkedList.deleteHead();
return removedHead ? removedHead.value : null;
}
toString(callback) {
return this.linkedList.toString(callback);
}
}