zhangjian
2023-08-07 6b009b0f6d3ef3aee97c362cebcd679d1b9088a3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
 * Quick select n-th element in an array.
 *
 * Note: it will change the elements placement in array.
 */
declare type CompareFunc<T> = (a: T, b: T) => number;
/**
 * @example
 *     let arr = [5, 2, 1, 4, 3]
 *     quickSelect(arr, 3);
 *     quickSelect(arr, 0, 3, 1, function (a, b) {return a - b});
 *
 * @return {number}
 */
declare function quickSelect<T>(arr: T[], nth: number, compareFunc: CompareFunc<T>): number;
declare function quickSelect<T>(arr: T[], nth: number, left: number, right: number, compareFunc: CompareFunc<T>): number;
export default quickSelect;