[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/anuragkmr45/java_program/main/array/sorting/MergeSort.java [Back]  [Original]

package array.sorting;
import java.util.Arrays;

public class MergeSort {
    static int[] mergeSort(int[] array){
        if (array.length == 1) {
            return array;
        }

        int mid = array.length / 2;

        int[] left = mergeSort(Arrays.copyOfRange(array, 0, mid));
        int[] right = mergeSort(Arrays.copyOfRange(array, mid, array.length));

        return merge(left, right );
    }

    static int[] merge(int[] first, int[] second) {
        int[] mix = new int[first.length + second.length];

        int i = 0;
        int j = 0;
        int k = 0;

        while (i < first.length && j < second.length) {
            if (first[i] < second[j]) {
                mix[k] = first[i];
                i++;
            } else {
                mix[k] = second[j];
            }
            k++;
        }

        // it may be possible that array is not complites then copy yht remaining array 

        while (i < first.length) {
            mix[k] = first[i];
            i++;
            k++;
        }

        while (j < second.length) {
            mix[k] = second[j];
            j++;
            k++;
        }

        return mix;
    }

}

Web Proxy Viewer  |  New URL  |  Original Page