priorityQueue
package version >0.5.0
shadcn any version
author: cmtlyt
update time: 2026/04/14 15:46:36
install
npm
shadcn
usage
Features
- 🎯 泛型支持:支持任意数据类型的优先级队列
- ⚙️ 可配置:支持最小堆和最大堆模式切换
- 🔄 自定义比较:提供灵活的自定义比较函数
- 🚫 重复检测:可选的重复元素检测机制
- 📦 批量操作:支持批量入队操作
- 🧹 队列管理:完整的队列操作 API
- 🔄 FIFO 保证:相同优先级的元素按照插入顺序出队
Examples
基本使用(最小堆)
最大堆模式
对象类型优先级队列
重复元素处理
FIFO 顺序保证
批量操作
队列管理
多字段比较
API Reference
priorityQueue<T>(options?)
创建优先级队列实例的工厂函数。
Parameters
options- 配置选项(可选)compare?: (a: T, b: T) => number- 自定义比较函数,返回负数表示 a < b,返回正数表示 a > b,返回 0 表示相等。默认为升序比较。allowDuplicate?: boolean- 是否允许重复元素,默认为false
Returns
返回 PriorityQueue<T> 类实例。
Notes
- 默认使用最小堆模式,优先级最小的元素先出队
- 使用自定义比较函数可以实现最大堆模式
- 重复元素检测基于比较函数返回
0判断 - FIFO 保证:相同优先级的元素按照插入顺序出队(先进先出)
- 所有操作的时间复杂度:
enqueue: O(log n)dequeue: O(log n)peek: O(1)size: O(1)isEmpty: O(1)clear: O(1)toArray: O(n)