Crates.io | quickselect |
lib.rs | quickselect |
version | 0.1.3 |
source | src |
created_at | 2022-05-24 09:12:53.400721 |
updated_at | 2024-02-21 09:09:00.812649 |
description | 基于rust的选择算法 |
homepage | |
repository | https://github.com/FreeGIS/quickselect-rs.git |
max_upload_size | |
id | 592654 |
size | 7,447 |
基于rust的选择算法。
pub fn quick_select(
arr: &mut Vec<f64>,
k: usize,
left: usize,
right: usize,
is_left_smallest: bool
)
let mut arr_f64 = vec![
65.0, 28.0, 59.0, 33.0, 21.0, 56.0, 22.0, 95.0, 50.0, 12.0, 90.0, 53.0, 28.0, 77.0,
39.0,
];
let length = arr_f64.len();
quick_select(&mut arr_f64, 8, 0, length - 1, true);
assert_eq!(
arr_f64,
vec![
39.0, 28.0, 28.0, 33.0, 21.0, 12.0, 22.0, 50.0, 53.0, 56.0, 59.0, 65.0, 90.0, 77.0,
95.0
]
);
常用于求数组中前k项最大、最小值。