/**
* @Description 插入排序
* 插入排序是从前往后分段排序的算法,已经经过排序部分都是有序的
* @auther Eleven
* @create 2020-04-04 21:58
**/
public class insertSort {
public static void main(String[] args) {
int[] arr = new int[]{1,9,5,2,6,7,10,11};
System.out.println(Arrays.toString(arr));
insertSort insertSort = new insertSort();
insertSort.insertSort(arr);
System.out.println(Arrays.toString(arr));
}
public void insertSort(int[] arr){
//循环遍历集合
for(int i=1;i<arr.length;i++){
//如果当前元素小于前一个元素
if(arr[i]<arr[i-1]){
//将当前元素存下来
int temp = arr[i];
int j;
//将当前元素和当前位置往前移动一位的全部的数据进行比较,如果该位置还是大于temp的
for( j=i-1;j>=0&&temp <arr[j];j--){
//则将当前位置的值赋给当前位置加1
arr[j+1]=arr[j];
}
//把temp赋给不满足条件的元素的后一个元素
arr[j+1] = temp;
}
}
}
}
简单的插入排序
最新推荐文章于 2021-04-06 15:20:44 发布