Site icon DataFlair

Merge Sort in Data Structures using Java

Program 1

//Program for Merge sort
import java.util.*;

class TestMerge
{
      public static void main(String args[])
      {
              int a[],m,n,i,j,temp;
              Scanner scan=new Scanner(System.in);
              System.out.println("Enter limit of array");
              m=scan.nextInt();
              a=new int[m];
              System.out.println("Enter elements in array");
              for(i=0;i<m;i++)
                a[i]=scan.nextInt();
           
              int l=0,h=m-1;  
              mergesort1(a,l,h);
              for(i=0;i<m;i++)
                System.out.println(a[i]);
      }

    public static void mergesort1(int a[],int l,int h)  
    {         int mid;
               if(l<h)
               {
                   mid=(l+h)/2;
                   mergesort1(a,l,mid);
                   mergesort1(a,mid+1,h);
                   merge(a,l,mid,h);
               }
    }
    public static void merge(int a[],int l,int mid,int h)
    {
        int i,j,k;
        i=l;
        j=mid+1;
        k=l;
        int c[]=new int[500];  
        while(i<=mid && j<=h)
        {
                if(a[i]<a[j])
                     c[k]=a[i++];
                else
                c[k]=a[j++];
               k++; 
        }
        if(i>mid)
        {
             while(j<=h)
             {
                c[k]=a[j++];
                k++;
             }
        }
       else
      {
             while(i<=mid)
             {
                  c[k]=a[i++];
                  k++;
             }
      }
       for(k=l;k<=h;k++)
       {
            a[k]=c[k];
       }   

    }
}

 

Exit mobile version