MCPcopy Create free account
hub / github.com/Manvityagi/PW-Skills-Java-Course-Codes / Main

Class Main

Lecture 41 - Merge Sort/src/Main.java:1–47  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1public class Main {
2 static void displayArr(int[] arr){
3 for(int val : arr){
4 System.out.print(val + " ");
5 }
6 }
7 static void merge(int[] arr, int l, int mid, int r){
8 int n1 = mid-l+1;
9 int n2 = r-mid;
10 int[] left = new int[n1];
11 int[] right = new int[n2];
12 int i, j, k;
13 for(i = 0; i < n1; i++) left[i] = arr[l+i];
14 for(j = 0; j < n2; j++) right[j] = arr[mid+1+j];
15 i = 0;
16 j = 0;
17 k = l;
18 while(i < n1 && j < n2){
19 if(left[i] < right[j])
20 arr[k++] = left[i++];
21 else
22 arr[k++] = right[j++];
23 }
24 while(i < n1)
25 arr[k++] = left[i++];
26 while (j < n2)
27 arr[k++] = right[j++];
28 }
29 static void mergeSort(int[] arr, int l, int r){
30 if(l >= r) return;
31 int mid = (l+r)/2;
32 mergeSort(arr, l, mid);
33 mergeSort(arr, mid+1, r);
34 merge(arr, l, mid, r);
35 }
36
37 public static void main(String[] args) {
38 int[] arr = {4, 1, 3, 5, 2};
39 int n = arr.length;
40 System.out.println("Array before sorting");
41 displayArr(arr); // 4 1 3 5 2
42 mergeSort(arr, 0, n-1);
43 System.out.println();
44 System.out.println("Array after sorting");
45 displayArr(arr); // 1 2 3 4 5
46 }
47}
48

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected