#排序 #人类 #顺序 #自然

human-sort

人类排序(自然排序)实现

16 个版本

0.2.2 2019 年 4 月 14 日
0.2.1 2019 年 2 月 5 日
0.1.14 2019 年 1 月 28 日

#908算法

Download history 3126/week @ 2024-03-14 5786/week @ 2024-03-21 4028/week @ 2024-03-28 3265/week @ 2024-04-04 2614/week @ 2024-04-11 2933/week @ 2024-04-18 2481/week @ 2024-04-25 3106/week @ 2024-05-02 2510/week @ 2024-05-09 2420/week @ 2024-05-16 2539/week @ 2024-05-23 2425/week @ 2024-05-30 2623/week @ 2024-06-06 3074/week @ 2024-06-13 2914/week @ 2024-06-20 2082/week @ 2024-06-27

11,017 每月下载量
用于 31 crate(15 个直接使用)

MIT 许可证

6KB
61

Crates.io Build Status

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);

无运行时依赖项