一、什么是插入排序
将一个记录插入到已经排好序的有序表中,从而变为一个新的记录数增1的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行移动。
分析:后边待排序数组中的元素插入到前边已经排好序的数组中
二、时间复杂度
插入排序的时间复杂度为o(n)
三、配图
四、主要代码
public static void sort(int[] arr){
for(int i = 1;i<arr.length;i++){
for(int j = i-1;j>=0;j--){
if(arr[j] > arr[j+1]){
int temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
}
五、存在的问题
后边的元素数值越小,需要移动的次数就越多
六、相关排序