8 个版本
0.2.2 | 2022年2月7日 |
---|---|
0.2.1 | 2022年2月3日 |
0.1.4 | 2021年2月21日 |
0.1.2 | 2020年8月28日 |
在 算法 类别中排名 810
每月下载 22 次
54KB
1K SLoC
必须的 README
这个crate提供了各种不同的排序算法,包括直接在任何实现某些功能的 Vec
上实现,以及作为独立的函数。
示例
使用特质的实现
use sort_it::prelude::*;
fn main() {
let mut v = vec![9, 8, 7, 6, 5, 4, 3, 2, 1];
println!("original v: {:?}", v.clone());
v.gnome_sort(); // sorts `v` via gnome sort (with the trait implementation).
println!("sorted v: {:?}", v);
}
不使用特质的实现
use sort_it::prelude::*;
use rand::prelude::*;
fn main() {
let mut rng = rand::thread_rng();
let mut v = vec![1, 2, 3, 4, 5, 6, 7, 8, 9];
v.shuffle(&mut rng); // randomly shuffles `v`.
let s = merge_sort(v.clone()); // returns a sorted copy of `v` via merge sort (without the trait implementation).
println!("v: {:?}, s: {:?}", v, s);
}
实现的排序算法
- Bogosort
- 冒泡排序
- 龚排序
- 插入排序
- 归并排序
- 选择排序
- 慢速排序
- Stooge 排序
享受以不同方式排序事物的乐趣。
依赖
~305KB