Advertisement
Guest User

Untitled

a guest
Apr 25th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.77 KB | None | 0 0
  1. public void quickSortByX(Point[] arr, int begin, int end) {
  2.         if (begin < end) {
  3.             int partitionIndex = partition(arr, begin, end);
  4.             quickSortByX(arr, begin, partitionIndex - 1);
  5.             quickSortByX(arr, partitionIndex + 1, end);
  6.         }
  7.     }
  8.  
  9.     private int partition(Point[] arr, int begin, int end) {
  10.         Point pivot = arr[end];
  11.         int i = (begin-1);
  12.  
  13.         for (int j = begin; j < end; j++) {
  14.             if (arr[j].x <= pivot.x) {
  15.                 i++;
  16.  
  17.                 Point swapTemp = arr[i];
  18.                 arr[i] = arr[j];
  19.                 arr[j] = swapTemp;
  20.             }
  21.         }
  22.  
  23.         Point swapTemp = arr[i+1];
  24.         arr[i+1] = arr[end];
  25.         arr[end] = swapTemp;
  26.  
  27.         return i+1;
  28.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement