fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. void quicksort(int arr[],int left,int right)
  5. {
  6. int temp,pivot,i,j;
  7. i = left;
  8. j = right;
  9. pivot = arr[(left+right)/2];
  10.  
  11. //partition
  12. while(i<=j){
  13. while(arr[i] < pivot){
  14. i++;
  15. }
  16. while(arr[j] > pivot){
  17. j--;
  18. }
  19. if(i <= j)
  20. {
  21. temp = arr[i];
  22. arr[i] = arr[j];
  23. arr[j] = temp;
  24. i++; j--;
  25. }
  26. }
  27. //recursion
  28. if(left < j)
  29. {
  30. quicksort(arr,left,j);
  31. }
  32. if(i < right){
  33. quicksort(arr,i,right);
  34. }
  35. }
  36. int main()
  37. {
  38. int n;
  39. cin>>n;
  40. int arr[n];
  41. for(int i=0; i<n; i++)
  42. {
  43. cin>>arr[i];
  44. }
  45.  
  46. quicksort(arr,0,n-1);
  47.  
  48. for(int i=0; i< n; i++)
  49. {
  50. cout<< arr[i]<<" ";
  51. }
  52.  
  53. }
Success #stdin #stdout 0s 3464KB
stdin
24
4 2 1 1 3 9 0 -1 0 -7 6 5 3 1 4 4 0 -8 5 0 1 3 2100000 -9999
stdout
-9999 -8 -7 -1 0 0 0 0 1 1 1 1 2 3 3 3 4 4 4 5 5 6 9 2100000