1 个不稳定版本
0.1.0 | 2023年9月21日 |
---|
#2286 在 算法
9KB
156 行
Rust 中基于红黑树的碎片整理缓冲区
实现的碎片整理缓冲区维护插入和空闲区间。它支持快速区间插入,最快可达数百纳秒。
示例
示例代码为 10 字节区间创建一个碎片整理缓冲区。它插入范围 2..7,缓冲区给出两个空闲区间,一个是 0..2,另一个是 7..10。
use rbtree_defrag_buffer::DefragBuf;
let mut buf = DefragBuf::new(10);
buf.insert(2..7).unwrap();
let free_invs: Vec<_> = buf.free_intervals().collect();
assert_eq!(free_invs, vec![0..2, 7..10]);
许可证
本软件基于 MIT 许可证分发。请查阅 LICENSE.txt 文件以查看完整的许可证。
lib.rs
:
基于红黑树的碎片整理缓冲区,维护插入和空闲区间。
use rbtree_defrag_buffer::DefragBuf;
let mut buf = DefragBuf::new(10);
buf.insert(2..7).unwrap();
let free_invs: Vec<_> = buf.free_intervals().collect();
assert_eq!(free_invs, vec![0..2, 7..10]);
依赖项
~520KB
~11K SLoC