import java.util.*;

class Main {
    public static void merge(int[] arr,int low,int mid,int high){
        int i=low,k=0,j=mid+1,n=high-low+1;
        //if(n==1) return;
        int[] new_arr=new int[n];
        
        while((i<=mid) && (j<=high)){
            if(arr[i]<arr[j]){
                new_arr[k]=arr[i];
                i++;
                k++;
            }else{
                new_arr[k]=arr[j];
                j++;
                k++;
            }
        }
        
        while(i<=mid){
            new_arr[k]=arr[i];
            i++;
            k++;
        }
        
        while(j<=high){
            new_arr[k]=arr[j];
            j++;
            k++;
        }
        
        for(int c=0;c<=n-1;c++){
            arr[low+c]=new_arr[c];
        }
        
    }
    public static void merge_sort(int[] arr,int low,int high){
        if(low==high){
            return ;
        }
        
        int mid=(low+high)/2;
        merge_sort(arr,low,mid);
        merge_sort(arr,mid+1,high);
        
        merge(arr,low,mid,high);
    }
  public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);
    int n=sc.nextInt();
    int[] arr=new int[n];
    for(int i=0;i<n;i++){
        arr[i]=sc.nextInt();
    }
    
    merge_sort(arr,0,n-1);
    for(int i=0;i<n;i++){
        System.out.println(arr[i]);
    }
  }
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: