美文网首页
插入排序及其实现

插入排序及其实现

作者: 好学人 | 来源:发表于2020-07-27 10:15 被阅读0次

插入排序

插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行移动。

时间复杂度:O(n^2)

实现代码

/**
 * 插入排序
 */
public static void insertSort(int[] array) {
    for (int i = 1; i < array.length; i++) {
        int target = array[i];
        int j = i; // 目标元素要插入的位置
        while (j >= 1 && target < array[j - 1]) {
            array[j] = array[j - 1];
            j--;
        }
        array[j] = target;
    }
}
/**
 * 插入排序for循环写法
 */
public void insertSort(int[] array) {
    for (int i = 1; i < array.length; i++) {
        int target = array[i]; // 要插入的元素
        int position = i; // 要插入的位置
        for (int j = i - 1; j >= 0; j--) { // 循环查找要插入的位置
            if (array[j] > target) {
                array[j + 1] = array[j]; // 比目标元素大的向后移
                position = j;
            } else {
                break;
            }
        }
        array[position] = target;
    }
}

相关文章

  • 数据结构与算法---排序篇

    前言: 2016年5月21号开始学习排序算法及其主要思想,并通过代码实现 插入排序 插入排序有两种: 直接插入排序...

  • 插入排序及其实现

    插入排序 插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记...

  • java快速学习排序---插入排序

    1.java实现插入排序 (1)、图解插入排序 (2)、插入排序的思想 (3)、插入排序的代码实现

  • 算法-插入排序

    算 法:插入排序算法时间复杂度: 插入排序算法描述 插入排序伪代码 插入排序实现 插入排序算法概述 插入排...

  • 「算法原理与实现」插入排序(Insertion Sort)

    插入排序具体实现

  • 计算机经典排序算法——C++实现

    计算机笔试经典排序方法总结如下: 按照上图我们依次介绍不同排序算法及其具体代码实现(升序)。 1.直接插入排序 实...

  • Java 实现插入排序

    本文介绍插入排序原理及 Java 语言实现。 目录 插入排序原理 代码实现版本一版本二单元测试 插入排序原理 从第...

  • 简单排序

    1、选择排序 实现 2、冒泡排序 实现 3、插入排序 实现

  • 希尔排序

    概念及其介绍 希尔排序(Shell Sort)是插入排序的一种,它是针对直接插入排序算法的改进。 希尔排序又称缩小...

  • 插入排序及其优化

    基本思路 正如生活中整理扑克的方法:一张一张的来,将每一张扑克插入到其他已经有序的扑克中的适当位置。 Q:计算机中...

网友评论

      本文标题:插入排序及其实现

      本文链接:https://www.haomeiwen.com/subject/tvbalktx.html