Advertisement
-fury

quick_sort

Dec 5th, 2022
487
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.12 KB | None | 0 0
  1. #include <stdio.h>
  2. void printarr(int a[],int l);
  3. int partition (int arr[], int low, int high);
  4. void swap(int &a,int &b);
  5. void swap(int &a,int &b){
  6.     int temp;
  7.     temp=b;
  8.     b=a;
  9.     a=temp;
  10. }
  11. void printarr(int a[],int l){
  12.     for(int i=0;i<l;i++){
  13.         printf("%d ",a[i]);
  14.     }
  15. }
  16. int partition (int arr[], int low, int high)
  17. {
  18.     int pivot = arr[high];
  19.     int i = (low - 1);  
  20.     for (int j = low; j <= high - 1; j++)
  21.     {
  22.         if (arr[j] < pivot)
  23.         {
  24.             i++;
  25.             swap(arr[i], arr[j]);
  26.         }
  27.     }
  28.     swap(arr[i + 1], arr[high]);
  29.     return (i + 1);
  30. }
  31.  
  32. void quickSort(int arr[], int low, int high)
  33. {
  34.     if (low < high)
  35.     {
  36.         int pi = partition(arr, low, high);
  37.         quickSort(arr, low, pi - 1);
  38.         quickSort(arr, pi + 1, high);
  39.     }
  40. }
  41. int main(){
  42.     int n;
  43.     printf("enter size of array:");
  44.     scanf("%d",&n);
  45.     int a[n];
  46.     for(int i=0;i<n;i++){
  47.         printf("enter element ar %d pos.: ",i);
  48.         scanf("%d",&a[i]);
  49.     }
  50.     quickSort(a,0,n);
  51.     printf("\n");
  52.     printarr(a,n);
  53.     printf("\n");
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement