package org.example.base.sortTest;
import java.util.Arrays;
/**
* @author l
* 插入排序算法
* 循环拿出一个数,作为待插入的数。然后依次和它前面位子的数比较,发现位子适合自己(大于或小于),就把该位子的数后移一位。
* 直到前面的位子找完。就把待插入的数插入到,最后一个适合自己的位子上。
*/
public class InsertSort {
public static int[] insertSort(int[] arr) {
for (int i = 1; i < arr.length; i++) {
//待插入的数
int insertNum = arr[i];
//被插入的位子
int index = i - 1;
while (index >= 0 && insertNum < arr[index]) {
arr[index + 1] = arr[index];
index--;
}
arr[index + 1] = insertNum;
}
return arr;
}
public static void main(String[] args) {
int[] arr = {9, 3, 6, 4, 7, 2, 5, 3, 4, 1};
System.out.println(Arrays.toString(insertSort(arr)));
}
}
插入排序
最新推荐文章于 2024-11-06 10:46:33 发布