// MinPriorityQueue 示例代码
// 引入 MinPriorityQueue 库 (假设使用的是类似 data-structures 包)
const { MinPriorityQueue } = require('data-structures');
// 创建一个最小优先队列实例
let minPQ = new MinPriorityQueue();
// 向队列中添加元素,可以指定优先级
minPQ.enqueue('task1', 3); // 'task1' 的优先级为 3
minPQ.enqueue('task2', 1); // 'task2' 的优先级为 1
minPQ.enqueue('task3', 2); // 'task3' 的优先级为 2
// 查看队列中的元素数量
console.log(minPQ.size()); // 输出: 3
// 取出优先级最高的元素(即优先级数值最小的元素)
let highestPriorityTask = minPQ.dequeue();
console.log(highestPriorityTask.element); // 输出: task2
console.log(highestPriorityTask.priority); // 输出: 1
// 再次取出下一个优先级最高的元素
highestPriorityTask = minPQ.dequeue();
console.log(highestPriorityTask.element); // 输出: task3
console.log(highestPriorityTask.priority); // 输出: 2
// 最后一个元素
highestPriorityTask = minPQ.dequeue();
console.log(highestPriorityTask.element); // 输出: task1
console.log(highestPriorityTask.priority); // 输出: 3
// 检查队列是否为空
console.log(minPQ.isEmpty()); // 输出: true
如果你没有安装 data-structures 包,可以通过以下命令安装:
npm install data-structures
下一篇:js urlencode
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站