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]
    [ 版权声明 ]: 本文所有权归作者本人,文中参考的部分已经做了标记! 商业用途转载请联系作者授权! 非商业用途转载,请标明本文链接及出处!
  • 相关阅读:
    View Controller 生命周期的各个方法的用法
    IOS开发之Post 方式获取服务器数据
    委托代理
    Function
    SKPhysicsContactDelegate协议
    UITouch附加
    Remove Duplicates from Sorted Array II
    4Sum
    [Text Justification
    Count and Say
  • 原文地址:https://www.cnblogs.com/gslgb/p/15142889.html
Copyright © 2011-2022 走看看