16 个版本
0.2.2 | 2019 年 4 月 14 日 |
---|---|
0.2.1 | 2019 年 2 月 5 日 |
0.1.14 | 2019 年 1 月 28 日 |
#908 在 算法 中
11,017 每月下载量
用于 31 个 crate(15 个直接使用)
6KB
61 行
human-sort
用于以人类友好顺序排序和比较带数字符号的字符串的实用程序。
它基于迭代器和逐字符比较字符串切片(除数字外)直到找到第一个不同之处,而不会创建包含整个数据的字符串或其他结构,因此不需要大量内存。
示例
use human_sort::sort;
let mut arr = ["file10.txt", "file2.txt", "file1.txt"];
sort(&mut arr);
assert_eq!(arr, ["file1.txt", "file2.txt", "file10.txt"]);
use std::cmp::Ordering;
use human_sort::compare;
assert_eq!(compare("item200", "item3"), Ordering::Greater);
许可证
在 MIT 许可证下授权。
lib.rs
:
用于以人类友好顺序排序和比较带数字符号的字符串的实用程序。
它基于迭代器和逐字符比较字符串切片(除数字外)直到找到第一个不同之处,而不会创建包含整个数据的字符串或其他结构,因此不需要大量内存。
示例
use human_sort::sort;
let mut arr = ["file10.txt", "file2.txt", "file1.txt"];
sort(&mut arr);
assert_eq!(arr, ["file1.txt", "file2.txt", "file10.txt"]);
use std::cmp::Ordering;
use human_sort::compare;
assert_eq!(compare("item200", "item3"), Ordering::Greater);