fork download
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. void Swap(int*a,int*b)
  4. int t = *a;
  5. *a = *b;
  6. *b = t;
  7. }
  8. int partition int arr[],int low,int high){
  9. int pivot=arr[high];
  10. int i=low-1;
  11. for(int j=low; j<=high-1;j++){
  12. if (arr[j]<pivot){
  13. i++;
  14. swap(&arr[i],&arr[j]);
  15. }
  16. }
  17. swap(&arr[i+1];&arr[high]);
  18. return i+1;
  19. }
  20. void quickSort(int arr[],int low,int high)
  21. {
  22. if (low<high){
  23. int pi=partition(arr,low,high);
  24. quickSort(arr,low,pi-1);
  25. quickSort(arr,pi+1,high);
  26. }
  27. }
  28. void printArray(int arr[],int size){
  29. for(int i=0;i<size;i++){
  30. printf("%d",arr[i]);
  31. }
  32. printf("\n");
  33. }
  34. int main(){
  35. int arr[]={10,7,8,9,1,5};
  36. int n=sizeof(arr)/sizeof(arr[0]);
  37. quickSort(arr,0,n-1);
  38. printf("Sorted Array\n");
  39. printArray(arr,n);
  40. return 0;
  41. }
Success #stdin #stdout 0.02s 25408KB
stdin
Standard input is empty
stdout
#include<stdio.h>
#include<stdlib.h>
void Swap(int*a,int*b)
int t = *a;
*a = *b;
*b = t;
}
int partition int arr[],int low,int high){
    int pivot=arr[high];
    int i=low-1;
    for(int j=low; j<=high-1;j++){
    if (arr[j]<pivot){
    i++;
    swap(&arr[i],&arr[j]);
    }
    }
    swap(&arr[i+1];&arr[high]);
    return i+1;
}
void quickSort(int arr[],int low,int high)
{
if (low<high){
int pi=partition(arr,low,high);
quickSort(arr,low,pi-1);
quickSort(arr,pi+1,high);
}
}
void printArray(int arr[],int size){
for(int i=0;i<size;i++){
printf("%d",arr[i]);
}
printf("\n");
}
int main(){
int arr[]={10,7,8,9,1,5};
int n=sizeof(arr)/sizeof(arr[0]);
quickSort(arr,0,n-1);
printf("Sorted Array\n");
printArray(arr,n);
return 0;
}