JavaScript 队列

17 Mar 2025 | 4 分钟阅读

在本节中,我们将介绍队列,并了解如何在 JavaScript 中实现队列。

什么是队列?

队列是一种数据结构,数据以队列的形式组织。我们可以将队列理解为排队投票的人群,队列中最前面的人先投票,然后离开队列。数据队列的情况也是如此,位于第一个位置的元素将首先被移除,依此类推。因此,队列遵循 **FIFO** 原则,即*先进先出*。这意味着最先到达的元素将最先从队列中移除。因此,队列数据结构是一个有序的数据值列表,其中值从队列的末尾插入,从队列的前端移除。

实现队列

让我们通过一个示例来理解队列的实现。

在上面的代码中,我们使用了以下三个变量,每个变量指定了其用途:

  1. data: 这是存储队列的值或元素的数组。
  2. rear: 这是一个变量,用于存储下一个元素将被插入队列的位置值。
  3. size: 这是为队列定义的尺寸,它将告诉队列中包含的元素数量。

因此,与栈操作类似,队列也有两个主要操作,通过这两个操作我们可以将元素插入栈或从中移除现有元素。这些操作是:

  • 入队 (Enqueue): 当我们需要将元素插入队列时,使用入队操作。它从队列的后端插入元素。
  • 出队 (Dequeue): 当我们需要删除或移除队列中的现有元素时,使用出队操作。出队操作用于从队列的前端移除现有元素。

除了这两个主要的队列方法外,还有一些其他方法可以应用于队列,它们是:

  • 查看 (Peek): peek() 方法用于获取队列前端的值。
  • isEmpty (): 此操作用于检查队列是否包含元素或为空。
  • printQueue (): printQueue() 函数用于以字符串形式返回队列中的所有元素。

我们将讨论这些队列操作的实际实现。

实现队列操作

现在,我们将看到这些队列操作的实际实现,如下所示:

1) enqueue (): 用于向队列添加元素的队列操作。

示例

在上面的代码中,我们使用 push 函数向队列添加了元素。

2) dequeue (): 用于从队列中移除或弹出现有值的队列操作。

示例

在上面的代码中,首先,我们检查队列是否已满。因为如果队列中没有值,它将返回“Underflow”。否则,它将检查并返回元素。

3) Length (): 用于返回队列长度的队列操作。

示例

语句 this.rear 将有助于获取队列的长度。

4) isEmpty (): 用于检查队列是否为空的队列操作。如果队列为空,则返回 true。否则,返回 false。

示例

在上面的代码中,它将检查 rear 的值(即末尾)是否等于 0。如果为 true,则返回 true,否则返回 false。

5) print (): 用于从索引值 0 到队列的 rear 位置打印队列中元素的队列操作。

示例

在上面的代码中,使用 for 循环,从索引 0 开始到队列的 rear 位置,它将打印值并将其放入 data 数组。

6) clear (): 用于清除或删除队列中的所有元素并将 rear 的值设为 0 的队列操作。

示例

在上面的代码中,使用 clear() 操作,data 数组中的值变为 0,并将 rear 值设置为 0。

实现 JavaScript 队列

完整代码

虽然队列的功能在每种编程语言中都相同,但其使用和语法会根据编程语言而有所不同。


下一主题JavaScript 表单