6 个版本
0.1.5 | 2022 年 1 月 1 日 |
---|---|
0.1.4 | 2021 年 4 月 17 日 |
0.1.3 | 2020 年 4 月 21 日 |
#836 in 数据结构
每月 22 次下载
19KB
444 代码行
skiplist-rs
描述
跳表是一种有序映射,可以存储任何值。有关此数据结构的更多信息,请参阅跳表维基百科页面。
如何使用
fn main() {
let mut list = Skiplist::new();
list.set(10, "helloworld".to_string());
if let Some(t) = list.get(&10) {
println!("{}", t);
}
list.remove(&10);
if let Some(t) = list.get(&10) {
println!("{}", t);
} else {
println!("not found");
}
}
#[test]
fn test_iterator() {
let mut rng = rand::thread_rng();
let y: f64 = rng.gen();
let mut nums: Vec<u32> = (1..200).collect();
nums.shuffle(&mut rng);
let mut skiplist = Skiplist::new();
for i in nums {
println!("index is {}", i);
skiplist.set(i, format!("Helloworld_{}", i));
}
for v in &mut skiplist {
println!("{}", v.as_str());
}
skiplist.set(9999, "Helloworld_9999".to_string());
for v in &mut skiplist {
println!("{}", v.as_str());
}
}
许可证
本库采用 MIT 许可证。有关详细信息,请参阅 LICENSE。
依赖关系
~305KB