Guest User

Untitled

a guest
May 20th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.04 KB | None | 0 0
  1. public static void main(String[] args)
  2. {
  3.     var array = new[] { 17, 25, 77, 11, 24, 47, 73, 18 };
  4.     QuickSort(array, 0, array.Length - 2, array.Length - 1);
  5. }
  6.  
  7. public static void QuickSort(int[] array, int start, int end, int pivot)
  8. {
  9.     if (start >= end) return;
  10.  
  11.     int leftScan = start;
  12.     int rightScan = end;
  13.  
  14.     bool scannersMet = false;
  15.  
  16.     while (!scannersMet)
  17.     {
  18.         while (array[leftScan] < array[pivot])
  19.         {
  20.             leftScan++;
  21.         }
  22.  
  23.         while (array[pivot] < array[rightScan])
  24.         {
  25.             rightScan--;
  26.         }
  27.  
  28.         if (leftScan + 1 >= rightScan)
  29.         {
  30.             scannersMet = true;
  31.         }
  32.         else
  33.         {
  34.             int temp1 = array[leftScan];
  35.             array[leftScan] = array[rightScan];
  36.             array[rightScan] = temp1;
  37.         }
  38.     }
  39.  
  40.     int temp2 = array[pivot];
  41.     array[pivot] = array[leftScan];
  42.     array[leftScan] = temp2;
  43.  
  44.     QuickSort(array, start, leftScan - 1, leftScan - 1);
  45.  
  46.     QuickSort(array, leftScan + 1, end, end);
  47. }
Advertisement
Add Comment
Please, Sign In to add comment