简单插入排序是一种基本的排序算法,它的思想是将待排序的元素逐个插入到已经有序的数组中,从而得到一个新的有序数组。它的时间复杂度是O(n^2),空间复杂度是O(1),是一种稳定的排序算法。
简单插入排序的过程如下:
- 从第二个元素开始,依次取出每个元素,与前面已经有序的元素进行比较。
- 如果当前元素小于前面的某个元素,就将当前元素插入到该元素之前,同时将该元素及其后面的所有元素后移一位。
- 如果当前元素大于或等于前面所有的元素,就不需要移动,继续取出下一个元素。
- 重复上述步骤,直到所有的元素都被插入到正确的位置。
简单插入排序的JAVA实现如下:
public class InsertionSort {
public static void sort(int[] arr) {
//从第二个元素开始
for (int i = 1; i < arr.length; i++) {
//取出当前元素
int temp = arr[i];
//记录要插入的位置
int j = i;
//与前面已经有序的元素进行比较
while (j > 0 && temp < arr[j - 1]) {
//如果当前元素小于前面的某个元素,就将该元素后移一位
arr[j] = arr[j - 1];
//更新要插入的位置
j--;
}
//将当前元素插入到正确的位置
arr[j] = temp;
}
}
}
标签:arr,temp,int,插入排序,元素,插入,简单
From: https://www.cnblogs.com/shoshana-kong/p/17524130.html