fork download
  1. #include <iostream>
  2. #include <iomanip>
  3.  
  4. using namespace std;
  5.  
  6. template<typename T>
  7. void quickSort1(T* array, long N)
  8. {
  9. long i = 0, j = N - 1;
  10. T p = array[N >> 1];
  11.  
  12. do {
  13. while (array[i] > p) i++;
  14. while (array[j] < p) j--;
  15.  
  16. if (i <= j) {
  17. T temp = array[i]; array[i] = array[j]; array[j] = temp;
  18. i++; j--;
  19. }
  20. } while (i <= j);
  21.  
  22. if (j > 0) quickSort1(array, j+1);
  23. if (N > i) quickSort1(array + i, N - i);
  24. }
  25.  
  26. int main(int argc, char * argv[])
  27. {
  28. int a[40];
  29. for(int i = 0; i < 40; ++i) a[i] = rand()%100;
  30. for(int i: a) cout << i << " "; cout << "\n";
  31. quickSort1(a,40);
  32. for(int i: a) cout << i << " "; cout << "\n";
  33. }
  34.  
Success #stdin #stdout 0.01s 5376KB
stdin
Standard input is empty
stdout
83 86 77 15 93 35 86 92 49 21 62 27 90 59 63 26 40 26 72 36 11 68 67 29 82 30 62 23 67 35 29 2 22 58 69 67 93 56 11 42 
93 93 92 90 86 86 83 82 77 72 69 68 67 67 67 63 62 62 59 58 56 49 42 40 36 35 35 30 29 29 27 26 26 23 22 21 15 11 11 2