Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int partition(int arr[], int start, int end)
- {
- int pivot, i, j, temp;
- pivot = arr[end];
- for(i = start - 1, j = start; j < end; j++)
- {
- if(arr[j] < pivot)
- {
- i += 1;
- temp = arr[j];
- arr[j] = arr[i];
- arr[i] = temp;
- }
- }
- temp = arr[end];
- arr[end] = arr[i+1];
- arr[i+1] = temp;
- return i+1;
- }
- void quickSort(int arr[], int start, int end)
- {
- if(start >= end)
- {
- return;
- }
- int pivotIndex = partition(arr, start, end);
- /* এখন arr[pivotIndex] এ যে নম্বর টা আছে তা সঠিক জায়গায় আছে .
- আগের এবং পরের গুলা সর্ট করতে হবে.*/
- quickSort(arr, start, pivotIndex - 1);
- quickSort(arr, pivotIndex + 1, end);
- }
- int main ()
- {
- int n;
- scanf("%d", &n);
- int arr[n];
- for(int i = 0; i < n; i++)
- {
- scanf("%d", &arr[i]);
- }
- quickSort(arr, 0, n);
- for(int i = 0; i < n; i++)
- {
- printf("%d \t", arr[i]);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement