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;//将目标数字插入有序数组,保证该数组还有序
            }
        }

  • 相关阅读:
    Oracle数据库中truncate命令和delete命令的区别
    数组中只出现一次的数字
    数对之差的最大值
    SQL Server: Difference Between Locking, Blocking and Dead Locking
    字符串处理
    Phpcms_V9任意文件上传
    最初的梦想
    陪你走过漫长岁月
    基于MitM的RDP降级攻击
    CVE-2017-0358
  • 原文地址:https://www.cnblogs.com/2nao/p/6431539.html
Copyright © 2011-2022 走看看