10 个版本

使用旧的 Rust 2015

0.2.6 2020年7月27日
0.2.5 2020年6月21日
0.2.4 2020年3月26日
0.2.3 2020年1月9日
0.1.2 2017年7月21日

#960数据结构

Download history 5647/week @ 2024-03-14 3465/week @ 2024-03-21 4020/week @ 2024-03-28 3085/week @ 2024-04-04 2899/week @ 2024-04-11 2223/week @ 2024-04-18 3085/week @ 2024-04-25 3087/week @ 2024-05-02 3715/week @ 2024-05-09 4305/week @ 2024-05-16 3083/week @ 2024-05-23 4345/week @ 2024-05-30 3589/week @ 2024-06-06 2553/week @ 2024-06-13 3644/week @ 2024-06-20 3299/week @ 2024-06-27

13,842 每月下载量
27 包(16 个直接)中使用

MIT/Apache

25KB
512 代码行

circular-queue

crates.io Documentation Build Status Build Status

类似环形缓冲区的队列容器。以固定容量创建。当超出容量时,新项目会覆盖旧项目。支持按最新到最老和最老到最新的顺序迭代。

许可证

许可方式为以下之一

由您选择。


lib.rs:

类似环形缓冲区的队列。

创建 CircularQueue<T> 时具有固定容量,然后开始推送项目。当队列容量不足时,新项目从最旧的开始覆盖旧项目。

存在内置迭代器,可以按最新到最老和最老到最新的顺序进行迭代。

如果使用 iter() 迭代两个队列,则认为它们相等。

启用 serde_support 功能以支持 Serde

示例

use circular_queue::CircularQueue;

let mut queue = CircularQueue::with_capacity(3);
queue.push(1);
queue.push(2);
queue.push(3);
queue.push(4);

assert_eq!(queue.len(), 3);

let mut iter = queue.iter();

assert_eq!(iter.next(), Some(&4));
assert_eq!(iter.next(), Some(&3));
assert_eq!(iter.next(), Some(&2));

依赖关系

~0–350KB