/** * Merge sort * * @param src Source array * @param dest Destination array * @param low Index of beginning element * @param high Index of end element * @param comp Comparator */ public static void msort(Object[] src, Object[] dest, int low, int high, Comparator comp) { if(low < high) { int center = (low + high) / 2; msort(src, dest, low, center, comp); msort(src, dest, center + 1, high, comp); merge(src, dest, low, center + 1, high, comp); } }
/** * Merge sort * * @param src Source array * @param dest Destination array * @param low Index of beginning element * @param high Index of end element * @param comp Comparator */ public static void msort(Object[] src, Object[] dest, int low, int high, Comparator comp) { if(low < high) { int center = (low + high) / 2; msort(src, dest, low, center, comp); msort(src, dest, center + 1, high, comp); merge(src, dest, low, center + 1, high, comp); } }
/** * Merge sort * * @param src Source array * @param dest Destination array * @param low Index of beginning element * @param high Index of end element * @param comp Comparator */ public static void msort(Object[] src, Object[] dest, int low, int high, Comparator comp) { if(low < high) { int center = (low + high) / 2; msort(src, dest, low, center, comp); msort(src, dest, center + 1, high, comp); merge(src, dest, low, center + 1, high, comp); } }