4d7935287710656480adc59b25ab5f530a76971eb513c41d2d1fc920862c61f3dac0a957d069cfb351562e36602aef09241845d9aa1360034beff95673c4f8 577 B

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