4个版本

使用旧的Rust 2015

0.2.0 2023年2月20日
0.1.2 2021年3月4日
0.1.1 2021年2月25日
0.1.0 2021年2月25日

#290 in 算法

Download history 29729/week @ 2024-03-14 35619/week @ 2024-03-21 35701/week @ 2024-03-28 42203/week @ 2024-04-04 38346/week @ 2024-04-11 35000/week @ 2024-04-18 29280/week @ 2024-04-25 27704/week @ 2024-05-02 27247/week @ 2024-05-09 26886/week @ 2024-05-16 39041/week @ 2024-05-23 34851/week @ 2024-05-30 25743/week @ 2024-06-06 29519/week @ 2024-06-13 31591/week @ 2024-06-20 22393/week @ 2024-06-27

114,779 每月下载量
用于 132crate (4直接)

MIT/Apache

14KB
222

partial_sort

Build Status

partial_sort是Rust版本的std::partial_sort

用法

use partial_sort::PartialSort;

fn main() {
    let mut vec = vec![4, 4, 3, 3, 1, 1, 2, 2];
    vec.partial_sort(4, |a, b| a.cmp(b));
    println!("{:?}", vec);
}

基准测试

首先我们比较在Macbook pro M1Max上对整个向量进行排序时会发生什么

partial sort 10000 limit 20                 time:   [5.2093 µs 5.2470 µs 5.2892 µs]
partial sort 10000 limit 200                time:   [15.742 µs 16.116 µs 16.645 µs]
partial sort 10000 limit 2000               time:   [117.99 µs 119.59 µs 121.32 µs]
partial sort 10000 limit 10000              time:   [281.40 µs 287.69 µs 295.43 µs]
stdsort 10000                               time:   [363.75 µs 366.93 µs 371.06 µs]
heapsort 10000                              time:   [253.89 µs 256.02 µs 258.35 µs]

partial reverse sort 10000 limit 20         time:   [5.7620 µs 6.0627 µs 6.5347 µs]
stdsort reverse 10000                       time:   [347.39 µs 355.88 µs 369.46 µs]

许可证

根据以下任何一个许可证授权

无运行时依赖