package org.structure.sort;
import java.util.Arrays;
/**
*
* 插入排序算法
* 分析:插入排序的是的首先把第一个原素假定是一个有序的列表,从第二个元素开始遍历,如果第二个元素比第一个原素下,则把第一个元素后移。
* 依次遍历第三个个元素,第三个元素跟第二个元素比较,如果比第二个元素小,则第二个原素后移;然后跟第一个* 元素比较,如果比第一个元素比较,则第一个原素后移动,最后把第三个元素放到第一个位置。
* 。。。一次遍历到数组的的最后一个元素。
* @author cjj_1
* @date 2020-08-12 14:55
*/
public class InsertAlgorithm {
public static void main(String[] args) {
int[] arr={5,4,3,10,6,-1};
inserSort(arr);
print(arr);
}
public static void inserSort(int[] arr){
for (int i =1;i<arr.length;i++){
int index = i;//待插入的索引
int value = arr[i];//待插入的值
while (index>= 1 && value < arr[index-1]){
arr[index] = arr[index-1];
index --;
}
arr[index] = value;
System.out.println(Arrays.toString(arr));
}
}
public static void print(int[] arr){
for (int i =0;i<arr.length;i++){
System.out.printf("%d\t",arr[i]);
}
}
}
插入排序
最新推荐文章于 2024-12-13 15:13:27 发布