Advertisement
Guest User

Untitled

a guest
Oct 20th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.61 KB | None | 0 0
  1. #include<iostream>
  2. #include<algorithm>
  3.  
  4. using namespace std;
  5.  
  6. void qsort(int* A, int L, int R) {
  7. if (R - L <= 1) return;
  8. int mid = A[L + rand() % (R - L)];
  9. int x = L, y = L;
  10. for (int i = L; i < R; ++i)
  11. if (A[i] < mid) {
  12. swap(A[x], A[i]);
  13. if (x != y) swap(A[y], A[i]);
  14. ++x; ++y;
  15. }
  16. else if (A[i] == mid) {
  17. swap(A[y], A[i]);
  18. ++y;
  19. }
  20. qsort(A, L, x);
  21. qsort(A, y, R);
  22. }
  23. int main() {
  24. int g;
  25. cin >> g;
  26. int* H = new int[g];
  27. for (int i = 0; i < g; i++) {
  28. cin >> H[i];
  29. }
  30. qsort(H, 0, g);
  31. for (int i = 0; i < g; i++) {
  32. cout << H[i] << " ";
  33. }
  34. system("Pause");
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement