fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int partition(int arr[], int low, int high) {
  5. int pivot = arr[high];
  6. int i = low - 1;
  7.  
  8. for (int j = low; j < high; j++) {
  9. if (arr[j] < pivot) {
  10. i++;
  11. swap(arr[i], arr[j]);
  12. }
  13. }
  14.  
  15. swap(arr[i + 1], arr[high]);
  16. return i + 1;
  17. }
  18.  
  19. void quickSort(int arr[], int low, int high) {
  20. if (low < high) {
  21. int pi = partition(arr, low, high);
  22. quickSort(arr, low, pi - 1);
  23. quickSort(arr, pi + 1, high);
  24. }
  25. }
  26.  
  27. int main() {
  28. int arr[] = {10, 7, 8, 9, 1, 5};
  29. int n = sizeof(arr) / sizeof(arr[0]);
  30.  
  31. quickSort(arr, 0, n - 1);
  32.  
  33. for (int i = 0; i < n; i++)
  34. cout << arr[i] << " ";
  35. cout << endl;
  36.  
  37. return 0;
  38. }
  39.  
Success #stdin #stdout 0.01s 5276KB
stdin
Standard input is empty
stdout
1 5 7 8 9 10