归并排序出错

Mr_sunrise Mr_sunrise 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
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数据全为零,并没有出现排序后的结果,谢谢!
...全文

相关推荐

评论
收藏 已收藏
分享
返回顶部
Mr_sunrise
Java SE 62,620 成员 307,251 内容