zoukankan      html  css  js  c++  java
  • 排序--插入排序(Insertion Sort)Java实现

    简述

    插入排序也是比较常用、简单的一种排序方式,同时呢也是我们生活中最常用的一种排序方式:打布克牌抓牌的时候就是使用的插入排序。

    原理

    假设我们要排序的数组为[10,6,3,9,8,7,5,4,6]

    我们从1开始一直遍历到n

    我们遍历到之前的元素都是有序的

    那么我们遍历的新元素后,只需要对前边的有序数组进行查找,找到合适的位置将新元素插入即可

    看例子:

    1.png

    代码

    public static void sort(int[] arr){
            //数组长度
            int n = arr.length;
            //从1开始遍历
            for (int i = 1; i < n; i++) {
                //记录当前需要插入的值
                int key = arr[i];
                int j = i-1;
                
                //从后往前寻找要插入的位置,其他元素往后稍一稍给腾个地方
                while (j >= 0 && arr[j] > key){
                    arr[j+1] = arr[j];
                    j--;
                }
                
                //插入
                arr[j+1] = key;
            }
    
    
    
        }
    

    建议

    不理解的话,可以拿出扑克牌来,抓一波牌体验一波

  • 相关阅读:
    hdu2084 DP
    hdu 2080 夹角有多大(弧度制)
    hdu2078复习时间
    hdu2077
    hdu 2051
    hdu 2050
    hdu 5514Frogs
    ARM指令
    ARM寄存器
    树莓派ARM汇编
  • 原文地址:https://www.cnblogs.com/erkye/p/12497339.html
Copyright © 2011-2022 走看看