目录
一、插入排序算法的基本介绍
- 一、插入排序算法的基本介绍
- 二、插入排序算法的思想
- 三、插入排序算法的思路分析图
- 四、插入排序算法的应用示例需求
- 五、插入排序算法推导过程示例演示
- 六、插入排序算法的完整示例演示
- 七、测试插入排序算法所消耗的时间示例
- 插入式排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。
- 把n个待排序的元素看成为一个有序表和一个无序表
- 开始时有序表中只包含一个元素,无序表中包含有n-1个元素
- 排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表。
示例需求:有一群牛 , 颜值的打分分别是 101, 34, 119, 1 请使用插入排序从低到高进行排序
1、代码
package com.rf.springboot01.dataStructure.sort;
import java.util.Arrays;
/**
* @description: 插入排序算法推导过程示例演示
* @author: xiaozhi
* @create: 2020-08-07 08:51
*/
public class InsertSort {
public static void main(String[] args) {
int[] arr={101, 34, 119, 1};
System.out.println("排序前的数组=================");
System.out.println(Arrays.toString(arr));
insertSort(arr);
System.out.println("排序后的数组=================");
System.out.println(Arrays.toString(arr));
}
public static void insertSort(int[] arr){
//第一轮排序的原数素组{101, 34, 119, 1}
int insertValue=arr[1];//定义一个待插入的数,第一次比较把34赋值给insertValue
int insertIndex= 1-1;//定义一个待插入的数前面的数的下标
//给insertValue 找到插入的位置
//1. insertIndex >= 0 保证在给insertValue 找插入位置,不越界
//2. insertValue < arr[insertIndex] 待插入的数,还没有找到插入位置
while(insertIndex>=0 && insertValue = 0 保证在给insertValue 找插入位置,不越界
//2. insertValue < arr[insertIndex] 待插入的数,还没有找到插入位置
while(insertIndex>=0 && insertValue = 0 保证在给insertValue 找插入位置,不越界
//2. insertValue < arr[insertIndex] 待插入的数,还没有找到插入位置
while(insertIndex>=0 && insertValue =0 && insertValue
关注
打赏
热门博文
- Netty——网络编程 NIO(Selector处理accept事件)代码示例
- CompletableFuture异步编排(多任务组合)
- CompletableFuture异步编排(线程串行化代码示例)
- CompletableFuture异步编排(handle最终处理)
- CompletableFuture异步编排(计算完成回调代码示例)
- hutool工具导出excel代码示例
- java 获取音频、视频文件时长代码示例
- PostMan发送请求参数带有路径特殊字符会返回400错误(与URL字符及URL编码值有关)
- Rabbitmq与Erlang安装包下载图解
- idea2021.1版本SpringBoot项目日志的说明及使用