package util.nice; public class Sorter { public static void swap(QuickSortable v, int i, int j) { Niceable tmp = v.getElementAt(i); v.setElementAt(i, v.getElementAt(j)); v.setElementAt(j, tmp); } public static void quickSort(QuickSortable v, int first, int last) { if (first >= last) return; int i = first; int j = last; Niceable mid = v.getElementAt(first); do { while (v.getElementAt(i).lessThan(mid)) ++i; while (mid.lessThan(v.getElementAt(j))) --j; if (i <= j) swap(v, i++, j--); } while (i <= j); quickSort(v, first, j); quickSort(v, i, last); } public static void quickSort(QuickSortable v) { quickSort(v, 0, v.getSize() - 1); } }