question about mergesort

Posted by davit-datuashvili on Stack Overflow See other posts from Stack Overflow or by davit-datuashvili
Published on 2010-06-01T09:37:55Z Indexed on 2010/06/01 9:43 UTC
Read the original article Hit count: 273

Filed under:

i have write code on mergesort here is code

public class mergesort{
public static    int a[];
public static void merges(int work[],int low,int high){

 if (low==high)
 return ;
else{
int   mid=(low+high)/2;

 merges(work,low,mid);
  merges(work,mid+1,high);
 merge(work,low,mid+1,high);

}



}




public static void main(String[]args){

int a[]=new int[]{64,21,33,70,12,85,44,99,36,108};

merges(a,0,a.length-1);

 for (int i=0;i<a.length;i++){
   System.out.println(a[i]);
}



}


   public static void merge(int work[],int low,int high,int upper){

   int j=0;
    int l=low;
   int mid=high-1;
  int n=upper-l+1;
   while(low<=mid && high<=upper)
  if ( a[low]<a[high])
     work[j++]=a[low++];
  else
      work[j++]=a[high++];
 while(low<=mid)
   work[j++]=a[low++];
 while(high<=upper)
   work[j++]=a[high++];
  for (j=0;j<n;j++)
   a[l+j]=work[j];
}
}

but it does nort work after compile this code here is mistake

java.lang.NullPointerException
    at mergesort.merge(mergesort.java:45)
    at mergesort.merges(mergesort.java:12)
    at mergesort.merges(mergesort.java:10)
    at mergesort.merges(mergesort.java:10)
    at mergesort.merges(mergesort.java:10)
    at mergesort.main(mergesort.java:27)

© Stack Overflow or respective owner

Related posts about algorithm