4个版本
0.1.3 | 2023年5月6日 |
---|---|
0.1.2 | 2020年7月26日 |
0.1.1 | 2020年6月18日 |
0.1.0 | 2020年6月17日 |
1173 在 算法 中排名
965 每月下载量
10KB
203 行
排序
允许对迭代器进行排序的便利函数。
示例
use sortby::*;
#[derive(Clone, Debug, Eq, PartialEq)]
struct Person {
pub age: i32,
pub name: &'static str,
}
fn main() {
let data = vec![
Person {
name: "Rich",
age: 18,
},
Person {
name: "Bob",
age: 9,
},
Person {
name: "Marc",
age: 21,
},
Person {
name: "Alice",
age: 18,
},
];
let sorted: Vec<_> = data.iter()
.sort_by_desc(|p| p.age)
.then_sort_by(|p| p.name)
.collect();
println!("{:#?}", sorted);
}
lib.rs
:
此crate为迭代器添加了方便的排序函数。
示例
use sortby::*;
#[derive(Clone, Debug, Eq, PartialEq)]
struct Person {
pub age: i32,
pub name: &'static str,
}
let data = vec![
Person {
name: "Rich",
age: 18,
},
Person {
name: "Bob",
age: 9,
},
Person {
name: "Marc",
age: 21,
},
Person {
name: "Alice",
age: 18,
},
];
let sorted: Vec<_> = data.iter()
.sort_by_desc(|p| p.age)
.then_sort_by(|p| p.name)
.collect();
println!("{:#?}", sorted);