带你读《图解算法小抄》三、队列

简介: 带你读《图解算法小抄》三、队列

三、队列

访问 www.coding-time.cn 阅读原文动画效果,体验更佳。

 

在计算机科学中, 一个 队列(queue) 是一种特殊类型的抽象数据类型或集合。集合中的实体按顺序保存。

 

队列基本操作有两种:入队和出队。从队列的后端位置添加实体,称为入队;从队列的前端位置移除实体,称为出队。

 

队列中元素先进先出 FIFO (first in, first out)的示意

 

image.png

Queue

1. 实现队列

class Queue {
  constructor() {
    this.items = [];
  }
  // 入队操作
  enqueue(element) {
    this.items.push(element);
  }
  // 出队操作
  dequeue() {
    if (this.isEmpty()) {
      throw new Error("Queue is empty");
    }
    return this.items.shift();
  }
  // 返回队头元素
  front() {
    if (this.isEmpty()) {
      throw new Error("Queue is empty");
    }
    return this.items[0];
  }
  // 判断队列是否为空
  isEmpty() {
    return this.items.length === 0;
  }
  // 返回队列的大小
  size() {
    return this.items.length;
  }
  // 清空队列
  clear() {
    this.items = [];
  }
}
const queue = new Queue();
queue.enqueue(10);
queue.enqueue(20);
queue.enqueue(30);
console.log(queue.front()); // 输出: 10
console.log(queue.size()); // 输出: 3
console.log(queue.isEmpty()); // 输出: false
queue.dequeue();
console.log(queue.size()); // 输出: 2
queue.clear();
console.log(queue.isEmpty()); // 输出: true

2. 参考

Wikipedia

YouTube

相关文章
|
2月前
|
算法
【优选算法专栏】专题十三:队列+宽搜(一)
【优选算法专栏】专题十三:队列+宽搜(一)
35 0
|
2月前
|
存储 算法 索引
【算法与数据结构】队列的实现详解
【算法与数据结构】队列的实现详解
163 0
|
5天前
|
算法 C语言
【数据结构与算法 经典例题】使用栈实现队列(图文详解)
【数据结构与算法 经典例题】使用栈实现队列(图文详解)
|
5天前
|
存储 算法
【数据结构和算法】--队列的特殊结构-循环队列
【数据结构和算法】--队列的特殊结构-循环队列
7 0
|
5天前
|
算法 C语言
【数据结构与算法 经典例题】使用队列实现栈(图文详解)
【数据结构与算法 经典例题】使用队列实现栈(图文详解)
|
6天前
|
算法
【C/数据结构和算法】:栈和队列
【C/数据结构和算法】:栈和队列
15 1
|
19天前
|
算法 调度 Python
数据结构与算法-队列篇
数据结构与算法-队列篇
15 3
|
24天前
|
算法 C语言
数据结构和算法学习记录——栈和队列习题-用队列实现栈、用栈实现队列(核心思路、解题过程、完整题解)二
数据结构和算法学习记录——栈和队列习题-用队列实现栈、用栈实现队列(核心思路、解题过程、完整题解)二
18 2
|
5天前
|
算法 程序员 数据处理
【数据结构与算法】使用单链表实现队列:原理、步骤与应用
【数据结构与算法】使用单链表实现队列:原理、步骤与应用
|
5天前
|
算法
【数据结构和算法】---栈和队列的互相实现
【数据结构和算法】---栈和队列的互相实现
7 0