// Decompiled by JEB v0.9.0 alpha
public static void quicksort(int[] arg5, int arg6, int arg7) {
int v0 = arg6;
int v1 = arg7;
int v2 = arg5[(arg7 - arg6) / 2 + arg6];
while(v0 <= v1) {
while(arg5[v0] < v2) {
++v0;
}
while(arg5[v1] > v2) {
--v1;
}
if(v0 > v1) {
continue;
}
int v3 = arg5[v0];
arg5[v0] = arg5[v1];
arg5[v1] = v3;
++v0;
--v1;
}
if(arg6 < v1) {
Sort.quicksort(arg5, arg6, v1);
}
if(v0 < arg7) {
Sort.quicksort(arg5, v0, arg7);
}
} |
/**
* Quicksort
* @param array array to be sorted
* @param lo init to 0
* @param hi init to values.length-1
*/
public static void quicksort(int[] array, int lo, int hi) {
int i = lo;
int j = hi;
int pivot = array[lo + (hi - lo) / 2];
while(i <= j) {
while(array[i] < pivot) {
i++;
}
while(array[j] > pivot) {
j--;
}
if(i <= j) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
i++;
j--;
}
}
if(lo < j) {
quicksort(array, lo, j);
}
if(i < hi) {
quicksort(array, i, hi);
}
} |