归并排序出错

Mr_sunrise 2017-02-16 10:40:45
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数据全为零,并没有出现排序后的结果,谢谢!
...全文
118 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,626

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧