Advertisement
Bewin

quickSort

Dec 13th, 2023
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.29 KB | None | 0 0
  1. class QuickSort {
  2.     static void swap(int[] arr, int i, int j)
  3.     {
  4.         int temp = arr[i];
  5.         arr[i] = arr[j];
  6.         arr[j] = temp;
  7.     }
  8.     static int partition(int[] arr, int leftEnd, int rightEnd) {
  9.         int left = leftEnd;
  10.         int right = rightEnd;
  11.         int pivot = arr[left];
  12.         while (left < right) {
  13.             while (left < rightEnd && arr[left] <= pivot)
  14.                 left++;
  15.             while (right > leftEnd && arr[right] > pivot)
  16.                 right--;
  17.             if (left < right)
  18.                 swap(arr,left,right);
  19.             else
  20.                 swap(arr,leftEnd,right);
  21.         }
  22.         return right;
  23.     }
  24.  
  25.     static void quickSort(int[] arr, int leftEnd, int rightEnd) {
  26.         if (leftEnd > rightEnd) {
  27.             return;
  28.         }
  29.         else {
  30.             int p = partition(arr, leftEnd, rightEnd);
  31.             quickSort(arr, leftEnd, p - 1);
  32.             quickSort(arr, p + 1, rightEnd);
  33.         }
  34.     }
  35.  
  36.     public static void main(String[] args) {
  37.         int[] arr = { 10, 7, 8, 9, 1, 5 };
  38.         int N = arr.length;
  39.  
  40.         // Function call
  41.         quickSort(arr, 0, N - 1);
  42.         System.out.println("Sorted array:");
  43.         for (int j : arr) {
  44.             System.out.println(j);
  45.         }
  46.     }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement