3个版本
0.1.2 | 2020年5月15日 |
---|---|
0.1.1 | 2020年5月10日 |
0.1.0 | 2020年5月8日 |
#1860 在 数据结构 中
每月下载 61 次
在 2 crates 中使用
13KB
279 行
SlidingWindow 
滑动窗口用于存储数据流中最近的N个样本。
示例
use sliding_window::*;
use sliding_window::typenum::consts::*;
// Create a SlidingWindow with a window size of 4 elements
let mut sw: SlidingWindow<_, U4> = SlidingWindow::new();
// Insert some data
sw.insert(1);
sw.insert(2);
sw.insert(3);
sw.insert(4);
// The 0 index always returns the oldest element in the window
assert_eq!(1, sw[0]);
// When full, inserting a new element removes and returns the oldest
assert_eq!(Some(1), sw.insert(5));
lib.rs
:
此crate提供了一种无堆、固定大小的滑动窗口。
滑动窗口用于存储数据流中最近的N个样本。
示例
use sliding_window::*;
use sliding_window::typenum::consts::*;
// Create a SlidingWindow with a window size of 4 elements
let mut sw: SlidingWindow<_, U4> = SlidingWindow::new();
// Insert some data
sw.insert(1);
sw.insert(2);
sw.insert(3);
sw.insert(4);
// The 0 index always returns the oldest element in the window
assert_eq!(1, sw[0]);
// When full, inserting a new element removes and returns the oldest
assert_eq!(Some(1), sw.insert(5));
依赖关系
~240KB