文章详情页
java中关于直接插入排序遇到的问题。
浏览:109日期:2024-02-05 09:40:18
问题描述
在研究直接插入排序的时候,写了个代码,如下:
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. android - java 泛型不支持数组,那么RxJava的Map集合有什么方便的手段可以定义获得一串共同父类集合数据呢?2. javascript - vue 移动端的input 数字输入优化3. javascript - 有什么兼容性比较好的办法来判断浏览器窗口的类型?4. java - 自己制作一个视频播放器,遇到问题,用的是内置surfaceview类,具体看代码!5. java - mongodb分片集群下,count和聚合统计问题6. 为什么我ping不通我的docker容器呢???7. 服务器端 - 采用nginx做web服务器,C++开发应用程序 出现拒绝连接请求?8. python - pandas按照列A和列B分组,将列C求平均数,怎样才能生成一个列A,B,C的dataframe9. 关于docker下的nginx压力测试10. java - 静态属性中的赋值和静态代码块中的赋值有什么区别?
排行榜
