fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. void QuickSort(vector<int>& in, int left, int right)
  4. {
  5. if (right <= left)
  6. return;
  7. int ipi = left + rand() % (right - left + 1);
  8. swap(in[ipi], in[right]);
  9. int x = in[right];
  10. int m = left;
  11. for (int i = left; i < right; i++)
  12. if (in[i] <= x)
  13. swap(in[i], in[m++]);
  14. swap(in[m], in[right]);
  15. QuickSort(in, left, m);
  16. QuickSort(in, m + 1, right);
  17. }
  18.  
  19. int main()
  20. {
  21. vector<int> a = {5, 4, 3, 2, 1, 10, 8, 14, 7, 6, 11};
  22. int left = 0;
  23. int right = a.size() - 1;
  24. QuickSort(a, left, right);
  25. for(int x : a)
  26. {
  27. cout << x << ' ';
  28. }
  29. }
Success #stdin #stdout 0s 4804KB
stdin
Standard input is empty
stdout
1 2 3 4 5 6 7 8 10 11 14