Tuesday, May 6, 2014

Merging sorted arrays in Java

import java.util.Arrays;

public class MergingSortedArrays
{
  private int C[];
 
  public void doSpill()
  {
    System.out.println(Arrays.toString(C)); 
  }
 
  public MergingSortedArrays(int a[], int b[])
  {
    int i = 0, j = 0, k = 0;
   
    C = new int[a.length+b.length];
   
    while ( i < a.length || j < b.length)
    {
      System.out.println("Values: " + i + " " + j + " " +  k);
     
      if (i >= a.length)
      {
        C[k++] = b[j++];
      }
      else if (j >= b.length || a[i] < b[j])
      {
        C[k++] = a[i++];
      }
      else
      {
        C[k++] = b[j++];
      }
    }
  }
 
  public static void main(String args[])
  {
    int a[] = new int[] {8, 9, 9, 10, 10, 11, 12, 14};
    int b[] = new int[] {5, 6, 13, 37};
    MergingSortedArrays msr = new MergingSortedArrays(a,b);
   
    msr.doSpill();
  }
}

No comments:

Post a Comment