继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

排序算法之——直接插入排序算法

YuanHuaQiang
关注TA
已关注
手记 4
粉丝 0
获赞 16
public class InsertionSort {
    public static void main(String[] args) {
        int[] arr ={1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0};
        int out,in;
        //每次循环都将待排序表中的arr[out]插入到正序表中正确的位置
        for (out = 1; out < arr.length; out++) {
            //取出下一个元素,在已经排序的元素序列中从后向前扫描
            int temp = arr[out];
            //使用temp从右到左查找,如果temp与比较数相比较小,则将比较数右移一个位置
            for (in = out - 1; in >= 0 && arr[in] > temp; in--) {
                arr[in + 1] = arr[in];
            }
            //将arr[out]的值移动的正确的位置
            arr[in + 1] = temp;
        }

//        for(int i=1;i<arr.length;i++){
//            for(int j=i;j>0;j--){
//                if(arr[j]>=arr[j-1]) 
//                    break;
//                int temp=arr[j];
//                arr[j]=arr[j-1];
//                arr[j-1]=temp;
//            }            
//        }

        for(int i : arr) {
            System.out.print(i + " ");
        }

    }
}

结果:0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP