13 lines
678 B
TypeScript
13 lines
678 B
TypeScript
/**
|
|
* Rearranges items so that all items in the [left, k] are the smallest.
|
|
* The k-th element will have the (k - left + 1)-th smallest value in [left, right].
|
|
*
|
|
* @template T
|
|
* @param {T[]} arr the array to partially sort (in place)
|
|
* @param {number} k middle index for partial sorting (as defined above)
|
|
* @param {number} [left=0] left index of the range to sort
|
|
* @param {number} [right=arr.length-1] right index
|
|
* @param {(a: T, b: T) => number} [compare = (a, b) => a - b] compare function
|
|
*/
|
|
export default function quickselect<T>(arr: T[], k: number, left?: number | undefined, right?: number | undefined, compare?: ((a: T, b: T) => number) | undefined): void;
|