Advertisement
Guest User

quicksort_left_pivot

a guest
May 30th, 2014
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.79 KB | None | 0 0
  1. #include<stdio.h>
  2.  
  3. void print_array(int arr[], int array_length){
  4.  
  5. int i;
  6.  
  7. for(i=0; i<array_length; ++i) {
  8. printf("%d ", arr[i]);
  9. }
  10.  
  11. }
  12.  
  13. void swap(int *a, int *b){
  14.  
  15. int temp;
  16.  
  17. temp = *a;
  18. *a = *b;
  19. *b = temp;
  20. }
  21.  
  22. void quicksort(int arr[], int l, int r){
  23.  
  24. if((r-l) >= 1){
  25.  
  26. int i, j, pivot = arr[l];
  27. i = l+1;
  28.  
  29. for(j=l+1; j<r; ++j){
  30. if(arr[j]<pivot){
  31. swap(&arr[j], &arr[i]);
  32. ++i;
  33. }
  34. }
  35.  
  36. swap(&arr[l], &arr[i-1]);
  37.  
  38. quicksort(arr, l, i-1);
  39. quicksort(arr, i, r);
  40. }
  41.  
  42. }
  43.  
  44. void main(){
  45.  
  46. int arr[] = {2,1,3,7,5,4,6,15,50,45,60};
  47. int arr_length = sizeof(arr)/sizeof(arr[0]);
  48. int l = 0, r = arr_length;
  49.  
  50. printf("Unsorted array: ");
  51. print_array(arr, arr_length);
  52. printf("\n");
  53.  
  54. quicksort(arr, l, r);
  55.  
  56. printf("Sorted array: ");
  57. print_array(arr, arr_length);
  58. printf("\n");
  59.  
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement