为了账号安全,请及时绑定邮箱和手机立即绑定

java中关于直接插入排序遇到的问题。

java中关于直接插入排序遇到的问题。

叮当猫咪 2019-02-21 22:20:06
在研究直接插入排序的时候,写了个代码,如下: static void zjcr1(int[] a) { int i,j,temp; //由于比较的时a[j]>a[j+1],所以i的循环条件是a.length-1 for(i=1;i<a.length-1;i++) { for(j=0;j<i+1;j++) { if(a[j]>a[j+1]) { temp = a[j+1]; a[j+1] = a[j]; a[j] = temp; } } } } 只看逻辑的话if(a[j]>a[j+1])这个地方是不可以完成排序的,但是,实际代码执行后,可以完成数组的排序,看了好久页没看明白,大家帮忙看一下。。。
查看完整描述

1 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

你用的测试用例不对,试试这个

new int[] {3,2,4,1,7,0,5}

结果:

[1, 2, 3, 0, 4, 5, 7]

建议还是用比较标准的排序方式

查看完整回答
反对 回复 2019-03-01
  • 1 回答
  • 0 关注
  • 534 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信