归并排序出错
public static void main(String[] args) {
int[] a={50,10,90,30,70,40,80,60,20};
MergeSort(a);
for(int m=0;m<a.length;m++){
System.out.print(a[m]+" ");
}
}
public static void MergeSort(int[] a){
Msort(a,0,a.length-1);
}
private static void Msort(int[] a, int s, int t) {
if(s>=t)
return;
int m;
m=(s+t)/2;
Msort(a,s,m);
Msort(a,m+1,t);
Merge(a,s,m,t);
}
private static void Merge(int[] a, int s, int m, int t) {
// TODO Auto-generated method stub
int[] res=new int[a.length];
int i,j,k;
for(i=s,j=m+1,k=0;i<=m && j<=t && k<a.length;k++){
if(a[i]<a[j]){
res[k]=a[i];
i++;
}
else{
res[k]=a[j];
j++;
}
}
if(i<=m){
for(int l=i;l<=m;l++)
res[k++]=a[l];
}
if(j<=t){
for(int l=j;l<=t;l++)
res[k++]=a[l];
}
for(k=0;k<a.length;k++){
System.out.println("res="+res[k]);
}
for(k=0;k<a.length;k++){
a[k]=res[k];
}
}
请各位帮我看看,为何输出的a数据全为零,并没有出现排序后的结果,谢谢!