Javascript 中的 Queue 类

javascriptfront end technologyweb development

以下是 Queue 类 − 的完整实现

示例

class Queue {
   constructor(maxSize) {
      // 如果未提供,则设置默认最大大小
      if (isNaN(maxSize)) {
         maxSize = 10;
      }
      this.maxSize = maxSize;
      // 初始化一个包含队列值的数组。
      this.container = [];
    }
   // 开发时显示所有值的辅助函数
   display() {
      console.log(this.container);
   }
   // 检查队列是否为空
   isEmpty() {
      return this.container.length === 0;
   }
   // 检查队列是否已满
   isFull() {
      return this.container.length >= this.maxSize;
   }
   enqueue(element) {
      // 检查队列是否已满
      if (this.isFull()) {
         console.log("Queue Overflow!"); return;
      }
      // 由于我们想要将元素添加到末尾,因此我们只需推送它们即可。
      this.container.push(element);
   }
   dequeue() {
      // 检查是否为空
      if (this.isEmpty()) {
         console.log("Queue Underflow!");
         return;
      }
      return this.container.shift();
   }
   peek() {
      if (this.isEmpty()) {
         console.log("队列下溢!");
         return;
      }
      return this.container[0];
   }
   clear() {
      this.container = [];
   }
}

相关文章