美文网首页
算法基础 | 插入排序

算法基础 | 插入排序

作者: icebreakeros | 来源:发表于2020-10-11 01:53 被阅读0次

插入排序

算法描述:
从第一个元素开始,该元素可以认为已经被排序
取出下一个元素,在已经排序的元素序列中从后向前扫描
如果该元素(已排序)大于新元素,将该元素移到下一位置
重复步骤3,直到找到已排序的元素小于或者等于新元素的位置

public class InsertSort {

    public static void main(String[] args) {
        InsertSort insertSort = new InsertSort();
        Integer[] numbers = new Integer[]{10, 8, 3, 7, 9, 1, 4};
        insertSort.sort(numbers);
        Arrays.asList(numbers).stream().forEach(System.out::println);
    }

    public void sort(Integer[] numbers) {
        for (int i = 0; i < numbers.length - 1; i++) {
            int j = i;
            int c = numbers[i + 1];
            while (j >= 0 && c < numbers[j]) {
                numbers[j + 1] = numbers[j];
                j--;
            }
            numbers[j + 1] = c;
        }
    }
}

希尔排序

相关文章

  • 插入排序算法实现

    排序算法是最常见,最基础的算法,作者文集中记录了两种排序算法(插入排序,归并排序) 插入排序算法实现很简单直接,附...

  • 排序

    本文记录几个基础的排序算法。排序算法分为插入排序、交换排序、选择排序等几大类。 插入排序 1. 直接插入排序 O(...

  • 开发者应该掌握的几种排序算法

    该篇文章主要介绍了算法基础以及几种常见的排序算法:选择排序、插入排序、冒泡排序、快速排序、堆排序。 一、算法基础 ...

  • 算法导论——第一部分 基础知识(二)

    第2章 算法基础 本章介绍一个贯穿本书的算法设计与分析的框架 2.1插入排序 算法思路 插入排序的工作方式像揭牌时...

  • 算法-插入排序

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

  • 常见排序算法

    1 前言 2 排序基础2.1 选择排序2.2 插入排序 3 高级排序算法3.1 归并排序3.1.1 插入排序与归并...

  • 二分插入排序

    1.算法思想 二分插入排序也是插入排序算法的一种,其基本思想是:引入二分查找的思想,在直接插入排序的基础上减少比较...

  • 基础排序算法总结

    排序算法分为内部排序和外部排序,而我们经常说的基础排序算法,都是内部排序算法。包括冒泡排序,选择排序,插入排序,快...

  • 排序算法

    概述 一般排序算法(以元素比较为基础) => 快速排序、归并排序、插入排序、冒泡排序、堆排序 特殊排序算法 => ...

  • python 冒泡排序和选择排序算法

    插入排序算法 冒泡排序算法

网友评论

      本文标题:算法基础 | 插入排序

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