Advertisement
shahriyar_mamun

কুইক সর্ট অ্যালগরিদম

May 26th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.17 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int partition(int arr[], int start, int end)
  4. {
  5.     int pivot, i, j, temp;
  6.  
  7.     pivot = arr[end];
  8.  
  9.     for(i = start - 1, j = start; j < end; j++)
  10.     {
  11.         if(arr[j] < pivot)
  12.         {
  13.             i += 1;
  14.  
  15.             temp = arr[j];
  16.             arr[j] = arr[i];
  17.             arr[i] = temp;
  18.         }
  19.     }
  20.  
  21.     temp = arr[end];
  22.     arr[end] = arr[i+1];
  23.     arr[i+1] = temp;
  24.  
  25.     return i+1;
  26.  
  27. }
  28.  
  29. void quickSort(int arr[], int start, int end)
  30. {
  31.     if(start >= end)
  32.     {
  33.         return;
  34.     }
  35.  
  36.     int pivotIndex = partition(arr, start, end);
  37.  
  38.     /* এখন arr[pivotIndex] এ যে নম্বর টা আছে তা সঠিক জায়গায় আছে .
  39.     আগের এবং পরের গুলা সর্ট করতে হবে.*/
  40.  
  41.     quickSort(arr, start, pivotIndex - 1);
  42.     quickSort(arr, pivotIndex + 1, end);
  43.  
  44. }
  45.  
  46.  
  47.  
  48. int main ()
  49. {
  50.     int n;
  51.     scanf("%d", &n);
  52.     int arr[n];
  53.  
  54.     for(int i = 0; i < n; i++)
  55.     {
  56.         scanf("%d", &arr[i]);
  57.     }
  58.  
  59.     quickSort(arr, 0, n);
  60.  
  61.     for(int i =  0; i < n; i++)
  62.     {
  63.         printf("%d \t", arr[i]);
  64.     }
  65.  
  66.  
  67.  
  68. return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement