zoukankan      html  css  js  c++  java
  • 插入排序

    插入排序:

         基本思想:将一组数,一个一个的插入到一个有序的数组中

          时间复杂度O[n2]

          效率要好于冒泡排序和选择排序

          当数组不大时,效率很高

          稳定的排序

    public static void main(String[] args) {
            int[]arr={4,6,3,2,8,6,9};
            insertSort(arr);
            for(int i:arr){
                System.out.print(i+",");
            }

        }
        public static void insertSort(int[]arr){
            
            for(int i=1;i<arr.length;i++ ){//假设第一个数组arr[0],已经在有序的数列中
                int target=arr[i];//要插入的目标数字
                int j=i;      
                while(j>0&&target<arr[j-1]){//目标数字和它前面的所有数字进行比较,当要插入的数字小于它前面的数,将它前面的数后移一位
                    arr[j]=arr[j-1];
                    j--;
                }
                arr[j]=target;//将目标数字插入有序数组,保证该数组还有序
            }
        }

  • 相关阅读:
    第八章 线性时间排序
    第七章 快速排序
    第六章 堆排序
    第四章 分治策略
    第二章 算法基础
    第一章 算法在计算中的作用
    opencv —— cornerSubPix 亚像素级角点检测
    opencv —— Shi-Tomasi 角点检测
    .NET List<T>Conat vs AddRange
    自定义组装json对象
  • 原文地址:https://www.cnblogs.com/2nao/p/6431539.html
Copyright © 2011-2022 走看看