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)