美文网首页
java实现插入排序

java实现插入排序

作者: 鸡杂面 | 来源:发表于2019-10-04 14:38 被阅读0次

时间复杂度:O(n²)

1. 算法思想

数组第一个数arr[0]视为有序,将第二个数arr[1]插入。插入完成后再将前两个数视为有序,
将第三个数插入。如此循环直至插入所有数。

2. 插入的过程

一次插入中,将arr[n+1]插入前面排好序的arr[0]~arr[n]中。若arr[n+1]<arr[n],则二者交换位置(可视为arr[n+1]插入到arr[n]前面,如{1,3,4,2}变为{1,3,2,4}),然后再将交换后的a【n】(也就是例子中的2)与a[n-1]比较,如此循环直至该数不再有比它大的数在前面或者该数已经到a[0]位置时结束一次插入过程。

3. java算法实现

public static void charu(int[] arr) {
            if(arr == null || arr.length<2) {
                return;
            }
            else {
                //数组第一个数arr[0]视为有序,从第二个数arr[1]开始插入
                for(int i = 1 ; i < arr.length ; i++) {
                    for(int j = i - 1 ; j >= 0 && arr[j] > arr[j + 1] ; j--) {
                        int temp = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = temp;
                    }
                }
            }
        } 

相关文章

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

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

  • 数据结构&算法(一)

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

  • 常见排序的java实现

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

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

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

  • (306)排序-java实现的选择/插入/希尔排序

    引言 用java实现的选择排序、插入排序、希尔排序。 代码(java) 运行结果

  • Java 实现插入排序

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

  • 插入排序java实现

    //插入排序//基本思想://在要排序的一组数中,假定前n-1个数已经排好序,//现在将第n个数插到前面的有序数列...

  • Java 实现插入排序

    public class InsertSortNumber { public static void main(S...

  • Java实现插入排序

    插入排序(Insertion Sort),是一种简单直观并且稳定的排序算法。 从前到后取每个元素和之后的元素进行比...

  • 插入排序java实现

    插入排序,就是将数组中的一个个元素插入到已经排好序的数组中. 代码实现: 上面那个是我自己写的,和书上写的还是有一...

网友评论

      本文标题:java实现插入排序

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