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

 樱花漫天飞舞-卿 发布于 2022-10-25 05:13

在研究直接插入排序的时候,写了个代码,如下:

static void zjcr1(int[] a)
    {
        int i,j,temp;
        //由于比较的时a[j]>a[j+1],所以i的循环条件是a.length-1
        for(i=1;ia[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]

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

    2022-10-26 14:19 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有