publicstatic <T> voidsort(T[] data, Comparator<T> comparator){ for (int i = 0; i < data.length; i++) { int index = i; for (int j = i + 1; j < data.length; j++) { if (comparator.compare(data[index], data[j]) > 0) { index = j; } } swap(data, i, index); } }
privatestatic <T> voidswap(T[] data, int i, int j){ T temp = data[i]; data[i] = data[j]; data[j] = temp; }