美文网首页前端大杂烩
数据结构 — 队列

数据结构 — 队列

作者: lio_zero | 来源:发表于2022-05-29 10:47 被阅读0次

队列(Queue)是一种线性数据结构,其行为类似于现实世界的队列。它遵循先进先出(FIFO)的操作顺序,类似于现实世界的对应物。这意味着将新项目添加到队列的末尾,而从队列的开头删除项目。

JavaScript 队列可视化

队列数据结构的主要操作有:

  • enqueue:将元素添加到队列末尾
  • dequeue:从队列的开头移除元素
  • peek:检索队列开头的元素,而不删除它
  • isEmpty:检查队列是否为空

JavaScript 实现

class Queue {
  constructor() {
    this.items = []
  }

  enqueue(item) {
    this.items.push(item)
  }

  dequeue(item) {
    return this.items.shift()
  }

  peek(item) {
    return this.items[0]
  }

  isEmpty() {
    return this.items.length === 0
  }
}
  • 使用 constructor 创建一个类(class),为每个实例初始化空数组 items
  • 定义一个 enqueue() 方法,使用 Array.prototype.push() 将元素添加到 items 数组的末尾。
  • 定义一个 dequeue() 方法,使用 Array.prototype.shift()items 数组的开头删除元素。
  • 定义一个 peek() 方法,检索 items 数组中第一个元素的值,而不删除它。
  • 定义一个 isEmpty() 方法,使用 Array.prototype.length 判断 items 数组是否为空。
const queue = new Queue()

queue.isEmpty() // true

queue.enqueue('A')
queue.enqueue('B')
queue.enqueue('C')
queue.enqueue('D')
queue.enqueue('E')

queue.isEmpty() // false

queue.peek() // 'A'

queue.dequeue() // 'A'
queue.dequeue() // 'B'
queue.dequeue() // 'C'

以上内容来自 30 seconds of code 的 JavaScript Data Structures - Queue

更多资料

Queue

相关文章

  • 看图说话数据结构之二项队列(优先队列)——原理解析

    数据结构之二叉堆(优先队列)——原理解析,数据结构之二叉堆(优先队列)——java实现,数据结构之左式堆(优先队列...

  • MQ(message queue)

    是什么? 1.什么是队列? 队列是一种先进先出的数据结构。 数据结构 线性数据结构:常用的:线性表、栈、队列、串等...

  • 数据结构-队列(Queue)-FIFO

    数据结构-队列(Queue)-FIFO 队列的接口设计 双端队列-Deque 循环队列-CircleQueue 双...

  • Java数据结构和算法概览

    Java数据结构和算法概览 数据结构 线性数据结构:常见的有一维数组,线性表,栈,队列,双队列,串。 非线性数据结...

  • 刷穿剑指offer-Day20-队列I 队列的使用与基础题型!

    队列的介绍 队列(queue)是一种简单、常用的数据结构,在上一章栈的学习中,我们已经提到了队列这种数据结构。 队...

  • AQS源码浅析(6)——条件队列

    一、ConditionObject数据结构 简单回顾条件队列的数据结构,一个单链表。 条件队列只有在独占模式下才能...

  • C++数据结构探险——队列篇

    数据结构的原理 队列:先进先出(FIFO:first in first out) 普通队列: 环形队列: 以C++...

  • Handler精讲

    讲解本技术点之前需要准备的技术点回顾 队列数据结构 数据结构-队列(queue) - CSDN博客 Java中的T...

  • Queue

    什么是队列?队列是数据结构中比较重要的一种类型(是一种数据结构),它支持 FIFO,尾部添加、头部删除(先进队列的...

  • 队列

    队列 队列数据结构 队列是遵循FIFO (First In First Out, 先进先出, 也称先来先服务) 原...

网友评论

    本文标题:数据结构 — 队列

    本文链接:https://www.haomeiwen.com/subject/ctyiprtx.html