Files
daa-lab/mergeSort.java
T
2026-05-18 19:58:36 +05:30

54 lines
1.4 KiB
Java

import java.util.*;
public class mergeSort{
static void merge(int arr[], int left, int mid, int right, int temp[]){
int i = left;
int j = mid+1;
int k = left;
while(i<=mid && j<=right){
if(arr[i]<=arr[j]){
temp[k++] = arr[i++];
}else{
temp[k++] = arr[j++];
}
}
while(i<=mid)
temp[k++] = arr[i++];
while(j<=right)
temp[k++] = arr[j++];
for(int x = left;x<=right;x++){
arr[x] = temp[x];
}
}
static void mergeSort(int arr[], int left, int right, int temp[]){
if(left<right){
int mid = (right+left)/2;
mergeSort(arr, left, mid, temp);
mergeSort(arr, mid+1, right, temp);
merge(arr, left, mid, right, temp);
}
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.print("Enter number of elements: ");
int n= sc.nextInt();
int arr[] = new int[n];
int temp[] = new int[n];
System.out.println("Enter "+n+" elements: ");
for(int i =0;i<n;i++){
arr[i] = sc.nextInt();
}
mergeSort(arr,0,n-1,temp);
System.out.println("\nSorted array:");
for(int i =0;i<n;i++){
System.out.print(arr[i]+ " ");
}
sc.close();
}
}