美文网首页Java 杂谈Java
排序算法-插入排序(Java实现)

排序算法-插入排序(Java实现)

作者: HuFan_JS | 来源:发表于2019-04-06 12:44 被阅读0次

基本思想

通过构建有序数列,对于未排序元素,在已排序数列中从后往前扫描,找到相应位置并插入。


简单点~

实现过程

1.将一个具有n个元素的待排序数列分成两个子数列,一个有序和一个无序。
2.刚开始,我们将左边第一个元素看成一个有序数列,右边n-1个元素看成无序数列。
3.从右边无序数列中取出一个元素,在已排序数列中从后往前扫描(比较),找到相应的位置并插入,使插入后有序数列仍然有序。
4.重复第3步,直到完成整个排序过程。


过程演示

图片来源网络,侵删


过程演示

代码实现

public class InsertSort {
public static void main(String[] args) {
    int[] arr = new int[] {3,5,7,8,9,3,4,52,1,3};
    insertSort(arr);
    System.out.println(Arrays.toString(arr));
}
public static void insertSort(int[] arr) {
    //从i=1 开始,因为单独一个元素arr[0]是有序的;
    for(int i = 1;i < arr.length;i++) {
        //从无序数列中取出一个元素赋值给temp
        int temp = arr[i];
        int t = i-1;
        //不断往前寻找,直到找到比temp小的值或者t小于0为止
        while(t >= 0 && arr[t] > temp) {
            arr[t + 1] = arr[t];
            t--;
        }
        //将temp插在其之后
        arr[t+1] = temp;
        
    }
}

}

本篇完,如果有错误的地方欢迎大家指正
不定时发发笔记,欢迎大家来搞~
我的公众号:Java小部落

相关文章

  • 数据结构&算法(一)

    一、Java实现快速排序算法 二、Java实现折半插入排序算法 三、Java实现冒泡排序算法

  • java 实现排序算法之「插入排序」

    java 实现排序算法系列 这是 Java 实现排序算法的第三篇文章——插入排序算法。插入排序可以说成是「一类」简...

  • 算法-插入排序

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

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

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

  • 五种常见排序算法实现(Java)

    Java-五种排序算法实现 前言及准备 这篇我们会介绍比较简单的五种排序算法:插入排序、冒泡排序、快速排序、选择排...

  • 排序算法的实现

    用java对常用内部排序算法的实现。 对冒泡排序,简单选择排序,直接插入排序,希尔排序,归并排序的简单实现(缺少快...

  • 十大经典排序算法(java实现)

    前言 本文我们将以java代码实现十大经典排序算法,包括冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序...

  • 常见排序的java实现

    常见排序的java实现 常见排序java实现 插入排序(二分插入排序) 希尔排序 快速排序(三数中值快排) 冒泡排...

  • 插入排序算法实现

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

  • 盘点常用Java排序算法

    本文主要介绍Java的七种常见排序算法的实现,对选择排序、插入排序、冒泡排序、归并排序、快速排序、希尔排序、最小堆...

网友评论

    本文标题:排序算法-插入排序(Java实现)

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