diff --git a/quick_select.hh b/quick_select.hh index 4de523a..be7b6be 100644 --- a/quick_select.hh +++ b/quick_select.hh @@ -21,6 +21,8 @@ static inline void swap(TYPE *a, int i, int j) template static int partition(TYPE *a, int l, int h) { + int p = (l + h) / 2; + swap(a, p, h); for (int i = l; i < h; ++i) if (a[i] < a[h]) swap(a, i, l++);