1 个不稳定版本
0.1.0 | 2024年4月9日 |
---|
#1931 in 数据结构
9KB
158 行
边界保持缓冲队列
BndPresLimBufQ 是一个边界保持、可选限制的缓冲队列。
lib.rs
:
BndPresLimBufQ 是一个边界保持、可选限制的缓冲队列。
术语
长度 用于指代队列中元素的数量。 大小 用于指代队列中的总字节数。
示例
use bndpresbufq::BndPresLimBufQ;
// Construct a queue with a maximum 2 element length limit and 4 bytes size
// limit
let mut q = BndPresLimBufQ::new(Some(2), Some(4));
// Add elements to fill up to queue
q.try_push(vec![1, 2]).unwrap();
q.force_push(vec![3, 4]);
// Fail to add new node
assert_eq!(q.try_push(vec![5]), Err(vec![5]));
// Forcibly add node; expelling the oldest node
q.force_push([6].into());
assert_eq!(q.pop(), Some(vec![3, 4]));
assert_eq!(q.pop(), Some(vec![6]));
assert_eq!(q.pop(), None);
依赖项
~9KB