插入排序——Java

具体解释看:
插入排序总结

自己写的Java代码:

    /**
     * 插入排序思想:从第二个数开始不断向前比较,如果小于前一个数,且大于前前一个数,则将前一个数与当前数交换
     * 这里的实现思路是,从当前数开始向前比较,每次连续满足小于前一个数时,将前一个数后移到当前位置,将所有大于当前数的
     * 值全部后移,直到找到插入位置。
     */
    public static void insertSort(int []arr) {
        int length=arr.length;
        int j,temp;
        for(int i=1;i<length;i++) {
            temp=arr[i];//临时保存当前数
            for(j=i;j>0&&temp<arr[j-1];j--) {
                //注意循环结束的条件是j<=0或者找到一个数不满足当前数小于它
                arr[j]=arr[j-1];//否则后移
            }
            arr[j]=temp;//找到插入位置
        }
    }

猜你喜欢

转载自blog.csdn.net/zwzsdy/article/details/80049049