插入排序InsertionSort_听韩顺平课笔记
1.插入排序思想i = 1;while
把n个待排序的元素看作一个有序表和一个无序表,开始时有序表只包含一个元素arr[0],无序表中包含n-1个元素,每次从无序表中取出第一个元素,把他插入到有序表的适当位置。
2.插入排序时间复杂度O(n^2)
3.插入排序代码实现
package 算法.排序;
import java.util.Arrays;
public class InsertSortHsp {
public static void main(String[] args) {
int[] arr = new int[7];
for (int i = 0; i < arr.length; i++) {
arr[i] = (int)(Math.random()*100+1);
}
System.out.println(Arrays.toString(arr));
insertionSort(arr);
System.out.println(Arrays.toString(arr));
}
static void insertionSort(int[] arr){
int insertVal = 0;
int insertIndex = 0;
for (int i = 1; i < arr.length; i++) {
insertVal = arr[i];
insertIndex = i - 1;
while(insertIndex >= 0 && insertVal < arr[insertIndex]){
arr[insertIndex + 1] = arr [insertIndex];
insertIndex --;
}
arr[insertIndex + 1] = insertVal;
}
}
}

浙公网安备 33010602011771号