2个版本
0.1.1 | 2021年6月12日 |
---|---|
0.1.0 | 2021年6月12日 |
2264 在 数据结构
19KB
412 行
优先队列
Rust中以二叉堆形式存储的简单优先队列,存储在 Vec<T>
中。
此实现旨在比标准库提供的实现更简单、更灵活。它依赖于一个给定的函数来决定元素之间的优先级。允许您有或没有一致性检查地访问底层 Vec<T>
。
示例
let mut queue = PrioQueue::new(|l, r| l < r);
queue.push(42);
queue.push(32);
queue.push(64);
assert_eq!(queue.pop(), Some(32));
assert_eq!(queue.pop(), Some(42));
assert_eq!(queue.pop(), Some(64));
assert_eq!(queue.pop(), None);
显示
╭───────────────9───────────────╮
╭───────26──────╮ ╭───────27──────╮
╭───45──╮ ╭───34──╮ ╭───35──╮ ╭───37──╮
╭─59╮ ╭─52╮ ╭─48 57 67 39 80 73
77 61 64 74 96