# 链表

# 定义

在计算机科学中,一个**队列(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);
  }
}
最近更新时间: 2023/8/22 17:55:30