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);
}
}