文章详情页
java中关于直接插入排序遇到的问题。
问题描述
在研究直接插入排序的时候,写了个代码,如下:
static void zjcr1(int[] a) {int i,j,temp;//由于比较的时a[j]>a[j+1],所以i的循环条件是a.length-1for(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:你用的测试用例不对,试试这个
new int[] {3,2,4,1,7,0,5}
结果:
[1, 2, 3, 0, 4, 5, 7]
建议还是用比较标准的排序方式
标签:
java
相关文章:
1. javascript - jQuery中live事件在移动微信端下没有效果;代码如下2. javascript - 请问一下react-native 布局的时候,尺寸的大小是如何确定的呢?3. javascript - js 修改表格元素的,可以用DOM操作实现吗?4. html5 - vue-cli 装好了 新建项目的好了,找不到项目是怎么回事?5. PHP类封装的插入数据,总是插入不成功,返回false;6. mysql5.7 json查询支持7. Python如何考虑代码注入安全?8. 找一个权威、实战的微信扫码授权登录网站的开发教程或者文章9. python - 关于matplotlib的x轴显示的问题10. html5 - 目前 公司App 嵌入H5页面 做个 手机支付功能 没有做过 所以 请求各位有经验的 给个思路
排行榜