Guest User

Untitled

a guest
Jun 18th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.65 KB | None | 0 0
  1. void swap(int arr[], int a, int b) {
  2. int temp;
  3. temp = arr[a];
  4. arr[a] = arr[b];
  5. arr[b] = temp;
  6. }
  7.  
  8. void quicksort(int arr[], int lower, int upper) {
  9. if (lower == upper) { return; }
  10. int pivot = lower + (rand() % (upper-lower+1));
  11. swap(arr, pivot, upper);
  12. pivot = upper;
  13. int middle = lower;
  14. for (int i = lower; i < upper; i++) {
  15. if (arr[i] < arr[pivot]) {
  16. swap(arr, i, middle);
  17. middle++;
  18. }
  19. }
  20. swap(arr, pivot, middle);
  21. if (middle != upper) {
  22. quicksort(arr, middle+1, upper);
  23. }
  24. if (middle != lower) {
  25. quicksort(arr, lower, middle-1);
  26. }
  27. }
  28.  
  29. void quicksort(int arr[], int arrsize) {
  30. quicksort (arr, 0, arrsize-1);
  31. }
Add Comment
Please, Sign In to add comment