#nth-element #median #no-std #select #partition

no-std kth

Find the k-th order element of an array (one of which is the median)

1 unstable release

Uses old Rust 2015

0.1.0 May 29, 2017

#6 in #nth-element

Download history 459/week @ 2025-08-27 851/week @ 2025-09-03 940/week @ 2025-09-10 835/week @ 2025-09-17 328/week @ 2025-09-24 286/week @ 2025-10-01 203/week @ 2025-10-08 244/week @ 2025-10-15 190/week @ 2025-10-22 175/week @ 2025-10-29 249/week @ 2025-11-05 190/week @ 2025-11-12 146/week @ 2025-11-19 109/week @ 2025-11-26 260/week @ 2025-12-03 156/week @ 2025-12-10

701 downloads per month
Used in 3 crates

Apache-2.0 OR MIT

18KB
340 lines

Algorithms to find the K-th order element

The k-th order element is the element which would be at the k-th index if the array was sorted.

Finding the median is a special case of finding the k-th order element, to find the median, select k to be half the array length.

Partitioning is commonly performed when searching for the K-th order element. An array is partitioned if all elements before a given element X are less than X, and all elements after a that same element X are greater than X.

Example

use kth::SliceExtKth;

let mut x = [6, 6, 8 ,1, 2];
// sorted =  1  2  6  6  8
let m = x.len()/2;
x.partition_by_kth(m);
println!("Median is {}", x[m]);
assert_eq!(x[x.len()/2], 6);

kth

Methods for partitioning arrays & finding the k-th order element.

The median is the element with order equal to half of the array length.

crates.io

travis-ci

docs (release)

docs (master)

Rust RFC issue #1470 talks about adding a similar interface.

Dependencies

~25KB