Showing posts with label Merge two sorted arrays in Java. Show all posts
Showing posts with label Merge two sorted arrays in Java. Show all posts

Monday, 11 June 2018

Merge two sorted arrays in Java


Suppose we have 2 sorted arrays a1={1,3,5,7} and a2={2,4,6}.We have to merge this 2 arrays to generate below result

a3={1,2,3,4,5,6,7}


Sample Program:-


public class MergeSortedArray {  
      public static void main(String[] args) {  
           int[] ar1 = { 1, 3, 5, 7 };  
           int[] ar2 = { 2, 4, 6, 8 };  
           int mergedArray[] = merge(ar1, ar2);  
           System.out.print("\nMerged array: ");  
           for (int i = 0; i < mergedArray.length; i++)  
                System.out.print(mergedArray[i] + " ");  
      }  
      private static int[] merge(int[] ar1, int[] ar2) {  
           int mergedArray[] = new int[ar1.length + ar2.length];  
           int ar1Index = 0, ar2Index = 0, mergedArrayIndex = 0;  
           while (ar1Index < ar1.length && ar2Index < ar2.length)  
                if (ar1[ar1Index] < ar2[ar2Index])  
                     mergedArray[mergedArrayIndex++] = ar1[ar1Index++];  
                else  
                     mergedArray[mergedArrayIndex++] = ar2[ar2Index++];  
           while (ar1Index < ar1.length)  
                mergedArray[mergedArrayIndex++] = ar1[ar1Index++];  
           while (ar2Index < ar2.length)  
                mergedArray[mergedArrayIndex++] = ar2[ar2Index++];  
           return mergedArray;  
      }  
 }  

Output:-


 Merged array: 1 2 3 4 5 6 7 8   

Enjoy Coding.