16 releases
0.2.2 | Apr 14, 2019 |
---|---|
0.2.1 | Feb 5, 2019 |
0.1.14 | Jan 28, 2019 |
#860 in Algorithms
10,613 downloads per month
Used in 30 crates
(14 directly)
6KB
61 lines
human-sort
Utilities to sort and compare strings with numeric symbols in human-friendly order.
It built over iterators and compare string slices char by char (except for numerals) until the first difference found without creating Strings or another structures with whole data from provided &str, so doesn't require lots of memory.
Examples
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);
License
Licensed under MIT license.
lib.rs
:
Utilities to sort and compare strings with numeric symbols in human-friendly order.
It built over iterators and compare string slices char by char (except for numerals) until the first difference found without creating Strings or another structures with whole data from provided &str, so doesn't require lots of memory.
Examples
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);