5分钟上手deque:npm安装、创建与push/shift基本操作的简单教程

📅 2026/8/26 14:51:15
5分钟上手deque:npm安装、创建与push/shift基本操作的简单教程
5分钟上手dequenpm安装、创建与push/shift基本操作的简单教程【免费下载链接】dequeExtremely fast double-ended queue implementation项目地址: https://gitcode.com/gh_mirrors/de/dequedeque 是一个极速的 JavaScript 双向队列double-ended-queue实现基于循环缓冲区构建push、shift、get等所有操作都是 O(1) 常数时间。通过 npm 安装后你可以用它替代数组来做队列、栈或随机访问场景性能远超原生数组的shift。下面带你 5 分钟完成安装、创建与基本操作 为什么不用数组deque 快在哪里 原生数组的shift()和unshift()是O(N) 线性时间——队列有 1000 个元素时就比 deque 慢约 1000 倍10000 个元素时慢 10000 倍。而 deque 的底层是一个GC 友好、CPU 缓存友好的循环缓冲区circular buffer每个队列操作均为常数O(1)连.get()随机访问也是 O(1)。官方基准测试数据摘自 README.md场景double-ended-queue原生数组队列含 1000 个元素约 1553 万 ops/sec约 650 万 ops/sec队列含 200 万个元素约 1443 万 ops/sec约 19 ops/sec可以看到数据量越大原生数组的退化越恐怖 ⚡npm 一键安装 deque最快配置方法打开终端执行一条命令即可安装npm install double-ended-queue包名在 package.json 中已声明为double-ended-queue入口文件为 js/deque.js。创建 deque 队列的 3 种方式var Deque require(double-ended-queue); // 方式 1空队列初始容量 16 var dq1 new Deque(); // 方式 2用数组初始化 var dq2 new Deque([1, 2, 3, 4]); // 方式 3指定初始容量避免运行时扩容开销 var dq3 new Deque(100); 如果你预先知道队列的最大规模推荐用new Deque(capacity)可以省去运行期昂贵的扩容操作。容量上下限定义在 src/constants.js 中。push 与 shift 基本操作队尾入、队头出双向队列的核心玩法就是两端都能进、都能出方法作用别名push(...items)从队尾添加元素enqueue、insertBackunshift(...items)从队头添加元素insertFrontpop()取出并移除队尾元素removeBackshift()取出并移除队头元素removeFront、dequeueget(index)O(1) 随机访问支持负索引—peekFront()/peekBack()只查看队头/队尾不移除—toArray()/isEmpty()/clear()转数组 / 判空 / 清空—一个最典型的使用示例var deque new Deque([1, 2, 3, 4]); deque.push(5); // 队尾添加 → [1,2,3,4,5] deque.pop(); // 取出队尾 → 5 deque.unshift(0); // 队头添加 → [0,1,2,3,4] deque.shift(); // 取出队头 → 0 deque.get(0); // 随机访问队头 → 1 deque.get(-1); // 负索引访问队尾 → 4如果队列是空的pop()和shift()会返回undefined使用前可以用.length或isEmpty()检查。把 deque 当普通队列用如果你只需要先进先出的普通队列deque 也提供了专门别名deque.enqueue(task1, task2); // 入队 var task deque.dequeue(); // 出队 → task1项目源码结构一览文件说明src/deque.js核心实现push/pop/shift/get 等src/constants.js容量上限/下限常量js/deque.jsnpm 发布入口文件test/deque.js单元测试用例benchmark/two_million.js200 万元素性能基准脚本想验证性能时可以克隆仓库后运行npm install再执行bench脚本复现官方测试详见 benchmark/thousand.js。小结 ✅安装npm install double-ended-queue一条命令搞定创建支持空队列、数组初始化、指定容量三种方式操作push/unshift两端添加pop/shift两端取出全部 O(1)优势对比原生数组shift大数据量下性能领先数个数量级5 分钟你现在已经掌握了 deque 的双向队列基本用法可以放心用它替换数组来构建高性能队列啦 【免费下载链接】dequeExtremely fast double-ended queue implementation项目地址: https://gitcode.com/gh_mirrors/de/deque创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考