Answers for "merge sort explanation in java"

4

merge sort java

public static void mergeSort(int[] a, int n) {
    if (n < 2) {
        return;
    }
    int mid = n / 2;
    int[] l = new int[mid];
    int[] r = new int[n - mid];
 
    for (int i = 0; i < mid; i++) {
        l[i] = a[i];
    }
    for (int i = mid; i < n; i++) {
        r[i - mid] = a[i];
    }
    mergeSort(l, mid);
    mergeSort(r, n - mid);
 
    merge(a, l, r, mid, n - mid);
}

public static void merge(
  int[] a, int[] l, int[] r, int left, int right) {
 
    int i = 0, j = 0, k = 0;
    while (i < left && j < right) {
        if (l[i] <= r[j]) {
            a[k++] = l[i++];
        }
        else {
            a[k++] = r[j++];
        }
    }
    while (i < left) {
        a[k++] = l[i++];
    }
    while (j < right) {
        a[k++] = r[j++];
    }
}
Posted by: Guest on April-12-2021
0

merge sort java

import java.util.Random;
import java.util.Scanner;

public class MergeSort {
    public static void main(String[] argh){
        Scanner scanner  = new Scanner(System.in);
        System.out.println("Enter the size of you victor: ");
        int size = scanner.nextInt();
        int[] unSortedArr = new int[size];
        unSortedArr = enterRandomValues(unSortedArr);
        int[] sortedARR = loop(unSortedArr);
        print(sortedARR);
    }
    public static int[] loop(int[] unSortedArr){
        for(int start = 0 ; start < unSortedArr.length ; ++start){
            int minIndex = findTheMiniIndex(unSortedArr,start);
            swap(unSortedArr,minIndex,start);
        }

        return unSortedArr ;
    }

    public static int findTheMiniIndex(int[] arr, int start){
        int index = start;
        for(int i = start+1 ; i < arr.length ; ++i){
            if(arr[index]>arr[i]){
                index = i ;
            }
        }

        return index;
    }

    public static void swap(int[] swapValOfArr,int minIndex,int start){
        int temp = swapValOfArr[minIndex];
        swapValOfArr[minIndex]= swapValOfArr[start]  ;
        swapValOfArr[start] = temp ;

    }

    public static void print(int[] sorteArr){
        for(int i = 0 ; i < sorteArr.length ; ++i) {
            System.out.println(sorteArr[i]);
        }
    }

    public static int[] enterRandomValues(int[] unSortedArr){
        Random random = new Random();
        for(int i = 0 ; i< unSortedArr.length; ++i){
            unSortedArr[i] =random.nextInt(1000);
        }
        return unSortedArr;
    }
}
Posted by: Guest on July-17-2021

Code answers related to "Java"

Java Answers by Framework

Browse Popular Code Answers by Language