在 JavaScript 中创建队列


尽管 JavaScript 中的数组提供了队列的所有功能,但我们还是来实现一下自己的队列类。我们的队列类将包含以下函数 −

  •  enqueue(element):向队列添加元素的函数。
  •  dequeue():从队列中移除元素的函数。
  •  peek():返回队列首部的元素。
  •  isFull():检查是否已到达队列中的元素数量上限。
  •  isEmpty():检查队列是否为空。
  •  clear():移除所有元素。
  •  display():显示数组中的所有内容

我们先定义一个简单的类,其中有一个构造函数,该构造函数采用队列的最大大小,还有一个辅助函数,当我们为该类实现其他函数时,它将为我们提供帮助。与我们实现的堆栈相同,我们还将使用数组来实现队列。

示例

class Queue {
   constructor(maxSize) {
      // Set default max size if not provided
      if (isNaN(maxSize)) {
         maxSize = 10;
       }
      this.maxSize = maxSize;
      // Init an array that'll contain the queue values.
      this.container = [];
   }
   // Helper function to display all values while developing
   display() {
      console.log(this.container);
   }
   // Checks if queue is empty
   isEmpty(){
      return this.container.length === 0;
   }
   // checks if queue is full
   isFull() {
      return this.container.length >= this.maxSize;
   }
}

我们还定义了另外 2 个函数,isFull 和 isEmpty,用于检查队列是否已满或为空。

isFull 函数仅检查容器的长度是否等于或大于 maxSize,并据此返回。

isEmpty 函数检查容器的大小是否为 0。

当我们定义其他操作时,这些函数将非常有用。我们从现在开始定义的函数都将放在队列类中。

更新于:15-6-2020

622 次浏览

开始你的 职业

完成课程并获得认证

开始学习
广告
© . All rights reserved.