数据结构---队列

前言

队列是一种先进先出(FIFO)的数据结构,它有两个主要操作:入队(enqueue)和出队(dequeue)。队列中的元素只能通过队尾入队,只能通过队头出队。

队列的特点

  1. 只能在队尾添加元素,在队首删除元素。
  2. 先进先出的原则。
  3. 适用于需要按照时间顺序处理的场景。

队列的常用方法

  1. enqueue(item): 向队列尾部添加一个或多个新的项。
  2. dequeue(): 移除队列的第一个项,并返回被移除的元素。
  3. head(): 返回队列第一个元素,队列不做任何变动。
  4. tail(): 返回队列最后一个元素,队列不做任何变动。
  5. isEmpty(): 队列内无元素返回 true,否则返回 false。
  6. size(): 返回队列内元素个数。
  7. clear(): 清空队列。

代码实现

队列的本质是数组,所以队列的方法就是对数组的再次封装

javascript 复制代码
class QUEUE {
    constructor() {
        this.queue = [];
    }
 
    enqueue(val) {
        this.queue.push(val);
    }
 
    dequeue() {
        this.queue.shift();
    }
 
    head() {
        return this.queue[0];
    }
 
    tail() {
        return this.queue[this.queue.length-1];
    }
 
    isEmpty() {
        return this.queue.length > 0 ? true : false;
    }
 
    size() {
        return this.queue.length;
    }
 
    clear() {
        return this.queue = []
    }
}
 
export default QUEUE;
相关推荐
金融小师妹6 小时前
人工智能推演框架:非农降温信号如何重构黄金定价模型
数据结构·人工智能·机器学习·transformer
ysa0510308 小时前
【并查集】判环,深搜
数据结构·c++·算法·深度优先
.Hypocritical.10 小时前
数据结构笔记——链表成环/反转 + 有序二叉树(BST)构建、遍历、删除
java·数据结构
CSharp精选营5 天前
关系型 vs 非关系型:从原理到选型,一文搞定数据库核心分类
数据结构·nosql·关系型数据库·非关系型数据库·技术选型
刘马想放假9 天前
Modbus 全栈技术解析:TCP、RTU、ASCII、RTU over TCP
数据结构·网络协议
北域码匠9 天前
冒泡排序太慢?鸡尾酒排序双向优化,原生 C# 零第三方库完整代码
数据结构·排序算法·泛型·c# 算法·鸡尾酒排序·原生 c# 开发·冒泡排序优化·嵌入式算法
Darling噜啦啦16 天前
列表转树算法深度解析:从 Map 到 Reduce 的两种实现,面试高频考点
数据结构·算法·面试
小小工匠17 天前
Redis - 事务机制:能实现 ACID 属性吗
数据结构·redis·性能优化·并发·持久化
玖玥拾17 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
Qres82117 天前
算法复键——树状数组
数据结构·算法