package sort;
import java.util.Arrays;
/**
* Created by lijie35 on 2020-01-17 11:21 AM .
*/
public class InsertionSort {
public static void main(String[] args) {
int [] arr={3,45,6,8,9,2};
InsertionSort.sort(arr);
}
/**
* [3, 45, 6, 8, 9, 2]
* [3, 6, 45, 8, 9, 2]
* [3, 6, 8, 45, 9, 2]
* [3, 6, 8, 9, 45, 2]
* [2, 3, 6, 8, 9, 45]
*
* O(n^2)
*/
public static void sort(int[] arr) {
for (int i = 1; i < arr.length; i++) { //循环length -1次
System.out.println(Arrays.toString(arr));
//待插入数据
int tmp = arr[i];
int index = i;//待交换位置
for (int j = i-1; j >= 0; j--) {//待插入数据比较每个值
//如果当前值比,插入值大,往后移动
if(arr[j] > tmp){
//往后移动
arr[j+1] = arr[j];
//空出来的位置,赋值给当前索引
index = j;
}else{
break;
}
}
//交换
arr[index] = tmp;
}
System.out.println(Arrays.toString(arr));
}
}
插入排序
最新推荐文章于 2023-09-23 17:47:53 发布