4个稳定版本
使用旧的Rust 2015
1.3.0 | 2020年11月18日 |
---|---|
1.2.0 | 2019年9月15日 |
1.1.0 | 2018年10月14日 |
1.0.0 | 2018年10月14日 |
在算法中排名#1234
每月40次下载
11KB
186 行
合并迭代器
此crate实现了一个迭代器,它接受两个独立的迭代器,并在它们各自排序的情况下按顺序返回它们的元素。
重要提示:此迭代器仅在输入迭代器已经排序的情况下才能正常工作,因为只有每个迭代器的相应next
元素会被比较。没有检查来验证此属性。
示例
extern crate merging_iterator;
use merging_iterator::MergeIter;
let a = vec![0, 2, 4, 6, 8];
let b = vec![1, 3, 5, 7, 9];
let merger = MergeIter::new(a, b);
assert_eq!(
vec![0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
merger.collect::<Vec<_>>()
);
您也可以像这样合并两个以上的排序迭代器
extern crate merging_iterator;
use merging_iterator::MergeIter;
let a = vec![1, 4, 7];
let b = vec![2, 5, 8];
let c = vec![3, 6, 9];
let merger = MergeIter::new(
MergeIter::new(a, b),
c
);
assert_eq!(
vec![1, 2, 3, 4, 5, 6, 7, 8, 9],
merger.collect::<Vec<_>>()
);
许可证
merging-iterator
许可证为以下之一,您可选
- Apache License, Version 2.0, (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT License (LICENSE-MIT 或 http://opensource.org/licenses/MIT)