rendered paste bodypublic class QuickSort {
private void qsort(Comparable[] toBeSorted, int lo0, int hi0) {
int lo = lo0;
int hi = hi0;
if ( hi0 > lo0) {
Comparable mid = toBeSorted[ ( lo0 + hi0 ) / 2 ];
while ( lo <= hi ) {
while (( lo < hi0 ) && ( mComparator.compare(toBeSorted[lo], mid) < 0 ))
++lo;
while (( hi > lo0 ) && ( mComparator.compare(toBeSorted[hi], mid) > 0 ))
--hi;
if ( lo <= hi ) {
swap(toBeSorted, lo, hi);
++lo;
--hi;
}
}
}
}
public static void sort(Comparable[] toBeSorted) {
}
public void staticOver(Comparable[] toBeSorted){
qsort(toBeSorted, 0, toBeSorted.length - 1);
}
public static abstract class Comparator {
public abstract int compare(Comparable obj1, Comparable obj2);
}
private Comparator mComparator;
public QuickSort(Comparator comparator) {
mComparator = comparator;
}
private void swap(Comparable[] toBeSorted, int i, int j) {
Comparable tmp = toBeSorted[i];
toBeSorted[i] = toBeSorted[j];
toBeSorted[j] = tmp;
}
}