插入排序(java)

简介: 插入排序(java)

要点:从未排序数据拿到待排序的数字,和已排序的数据进行比较,找到合适的位置插入。

 

import java.util.Arrays;
 
public class InsertSort {
    public static void main(String[] args) {
        int[] arr = {101, 34, 119, 1, -1, 89};
        insetSort(arr);
        //System.out.println(Arrays.toString(arr));
        //测试8w数据时间
        //int maxLength=80000;
        //int[] arr=new int[maxLength];
        //
        //for (int i = 0; i < maxLength; i++) {
        //    arr[i]= (int) (Math.random()*maxLength);
        //}
        System.out.println(Arrays.toString(arr));
        //long start = System.currentTimeMillis();
        //insetSort(arr);
        //long end = System.currentTimeMillis();
        //System.out.println(end-start);
    }
 
    //    插入排序
    public static void insetSort(int[] arr) {
        //待插入的数据
        int insertVal = 0;
        //第一个比较数字的下标
        int insertIndex = 0;
        for (int i = 1; i < arr.length; i++) {
            insertVal = arr[i];
            insertIndex = i - 1;
            // 若果比较的数字小于待插入数据,比较数字往后移动一位
            while (insertIndex >= 0 && insertVal < arr[insertIndex]) {
                arr[insertIndex + 1] = arr[insertIndex];
                //修改比较数据
                insertIndex--;
            }
            //待插入的数据大于比较的数据或者待插入的下标到达数组前端
            if (insertIndex + 1 != i) {
                arr[insertIndex + 1] = insertVal;
            }
            System.out.println(Arrays.toString(arr));
        }
    }
}
相关文章
|
3月前
|
搜索推荐 Java 索引
|
5月前
|
算法 搜索推荐 Java
Java插入排序:优雅整理数据的艺术
Java插入排序:优雅整理数据的艺术
|
6月前
|
算法 Java
<八大排序>万字详解(Java实现).插入排序、希尔排序、堆排序、快速排序、归并排序、计数排序...
<八大排序>万字详解(Java实现).插入排序、希尔排序、堆排序、快速排序、归并排序、计数排序
29 0
|
机器学习/深度学习 搜索推荐 算法
面试时常常考察的java排序算法--选择排序、冒泡排序、插入排序
面试时常常考察的java排序算法--选择排序、冒泡排序、插入排序
|
6月前
|
算法 搜索推荐 Java
数据结构与算法(Java篇)笔记--插入排序
数据结构与算法(Java篇)笔记--插入排序
|
6月前
|
搜索推荐 Java
Java实现插入排序算法
Java实现插入排序算法
28 0
|
6月前
|
搜索推荐 Java
Java代码插入排序
Java代码插入排序
29 0
|
6月前
|
Java Go C++
Golang每日一练(leetDay0116) 路径交叉、回文对
Golang每日一练(leetDay0116) 路径交叉、回文对
61 0
Golang每日一练(leetDay0116) 路径交叉、回文对
|
6月前
|
Java
LowB三人组--插入排序原理和java实现
LowB三人组--插入排序原理和java实现
|
搜索推荐 算法 Java
【算法】插入排序的原理与Java实现
插入排序(Insertion Sort)是一种简单直观的排序算法,它通过构建有序序列,对未排序的元素逐个插入到已排序的序列中。插入排序的核心思想是将待排序的元素与已排序的元素逐个比较并移动,直到找到合适的位置插入。
140 1