zoukankan      html  css  js  c++  java
  • 【排序算法】插入排序算法Java实现

    1、插入排序基本思想

    类似于我们打扑克,维持一个有序序列,刚开始有序序列是空。

    每次从无序的数组中取出一个数据,插入有序的序列中,使有序序列仍然保持有序。

    2、插入排序的特点

    时间复杂度:O(n2), 稳定,适用于少量数据,如果已经部分排序好,要插入一个数据,则用插入排序再好不过了

    3、Java实现代码

    public int[] insertSort(int[] arr){
    
        for(int i=1; i<arr.length; i++){
    //要插入的数据
    int insertValue = arr[i];
    //被插入的位置
    int index = i-1; while(index >= 0 && insertValue < arr[index]){
         //将arr[index]向后移动 arr[index
    +1] = arr[index];
         //将index向前移动 index
    --; }
         //将插入的数据放入合适的位置 arr[index
    +1] = insertValue; } }
    以上代码单纯理解可能很抽象,建议用实际的数组模拟一遍,看看每一步的变化
    如 arr = [6,2,5,8,7]
    [ 版权声明 ]: 本文所有权归作者本人,文中参考的部分已经做了标记! 商业用途转载请联系作者授权! 非商业用途转载,请标明本文链接及出处!
  • 相关阅读:
    webpack-bundle-analyzer使用
    HTTP1.0,HTTP1.1和HTTP2.0区别
    document.readyState
    async和defer
    页面生命周期
    key的理解
    解释型语言和编译型语言
    AMD/CMD/CommonJS与ES6 Module的区别
    vue的keep-alive原理
    数字钱包metaplex-foundation
  • 原文地址:https://www.cnblogs.com/gslgb/p/15142889.html
Copyright © 2011-2022 走看看