• java排序-插入排序-直接排序


      /**
         * 直接插入
         * 时间复杂度O(n^2)
         * 空间复杂度O(1)
         */
        @Test
        public void zjcrTest(){
            //原数组,直接排序原数组
            int[] data = new int[]{4,105,91,2,38,6,7,3,11,9};
            //初始化
            int temp;
            //在原数组中一个一个的排序
            /**
             * 1、取出第二个元素,与前面所有的元素,也就是第一个进行比较,找出合适的位置插入进去
             * 2、取出第三个元素,与前面所有的元素反着进行比较,因为前面的已经排好,所以没有找到相应的位置就会把元素向后移动,直到找到这个位置,留出空,插入进去
             * 3、遍历整个数组,把所有的全部进行排序,得到结果
             */
            for (int i = 1; i < data.length; i++) {
                //创建一个即将插入数组的数
                temp=data[i];
                int j;
                //元素向后移动,寻找temp能够插入的位置
                //data[j]>temp表示当找到这个位置的时候结束循环,也就是结束data中的元素的后移,为temp留出位置
                for (j = i-1;j>=0 && data[j]>temp ;j--){
                    data[j+1]=data[j];
                }
                //插入temp
                data[j+1]=temp;
            }
            //输出数组
            System.out.println(Arrays.toString(data));
    }
  • 相关阅读:
    jQuery Validate 插件
    本地存储 web storage
    ajax简介及JS写原生ajax
    swiper插件简介及用法
    JavaScript中的string对象及方法
    javascript数组中的方法
    面向对象
    logging模块具体补充
    模块补充
    内置函数总结
  • 原文地址:https://www.cnblogs.com/lcxz/p/10251038.html
Copyright © 2020-2023  润新知