直接插入排序

直接插入排序基本思想是每一步将一个待排序的记录,插入到前面已经排好序的有序序列中去,直到插完所有元素为止。

   public static void insertionSort(int[] arr) {

        for (int i = 1; i < arr.length; i++) {

            int j = i;

            while (j > 0 && arr[j] < arr[j - 1]) {

                swap(arr,j,j-1);

                j--;

            }

        }

    }


简单插入排序在最好情况下,需要比较n-1次,无需交换元素,时间复杂度为O(n);在最坏情况下,时间复杂度依然为O(n2)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,886评论 0 2
  • 总结一下常见的排序算法。 排序分内排序和外排序。内排序:指在排序期间数据对象全部存放在内存的排序。外排序:指在排序...
    jiangliang阅读 1,485评论 0 1
  • 直接插入排序 原理:每次将排序中的元素,插入到前面已经排好序的有序序列中去,直到排序完成。 步骤: 第一步,a[0...
    Swen_9826阅读 33,184评论 0 8
  • 何谓“卦体诗”? 简单说就是诗行分阴爻诗行(有一处断开的诗行)和阳爻诗行(整行不断开的诗行)的三行体(形如三...
    韦韦不像阅读 868评论 1 0
  • 1 考研通过 2 带孩子蒙古游一次 3 考取驾照 4 观影100并点评 5 学会做糕点 6 坚持给宝宝讲故事300天
    胡小新MM阅读 125评论 0 0

友情链接更多精彩内容