Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int partition(int* T, int l, int r, int pivot)
- {
- int li = l - 1, ri = r;
- while (true)
- {
- while (T[++li] < pivot);
- while (ri > 0 && T[--ri] > pivot);
- if (li < ri) std::swap(T[li], T[ri]);
- else break;
- }
- std::swap(T[li], T[r]);
- return li;
- }
- void quick_sort(int* T, int l, int r)
- {
- if (r - l > 0)
- {
- int p = partition(T, l, r, T[r]);
- quick_sort(T, l, p - 1);
- quick_sort(T, p + 1, r);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement