Advertisement
Aldin-SXR

partition()

Apr 8th, 2020
443
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.62 KB | None | 0 0
  1. /* Partition an array and return the pivot index */
  2. private static int partition(int[] elements, int low, int high) {
  3.     int i = low;                                            // 1
  4.     int j = high + 1;                                       // 1
  5.     while (true) {                                          // 2
  6.         while (less(elements[++i], elements[low])) {        // 3
  7.             if (i == high) {                                // 3
  8.                 break;                                      // 3
  9.             }
  10.         }
  11.         while (less(elements[low], elements[--j])) {        // 4
  12.             if (j == low) {                                 // 4
  13.                 break;                                      // 4
  14.             }
  15.         }
  16.         if (i >= j) {                                       // 5
  17.             break;                                          // 5
  18.         }
  19.         swap(elements, i, j);                               // 6
  20.     }
  21.     swap(elements, low, j);                                 // 7
  22.     return j;                                               // 7
  23. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement