private static <K> void swap(final K[] x, final K[] y, int a, int b, final int n) { for (int i = 0; i < n; i++, a++, b++) swap(x, y, a, b); } @SuppressWarnings("unchecked")
/** * Swaps two sequences of elements of an array. * * @param x * an array. * @param a * a position in {@code x}. * @param b * another position in {@code x}. * @param n * the number of elements to exchange starting at {@code a} and * {@code b}. */ public static <K> void swap(final K[] x, int a, int b, final int n) { for (int i = 0; i < n; i++, a++, b++) swap(x, a, b); } private static <K> int med3(final K x[], final int a, final int b, final int c, Comparator<K> comp) {