排序算法——插入排序
算法思想:
先构建一个有序数组,然后把剩下的无序数组数据从有序数组中从后向前扫描,找到相应的位置并插入。
算法实现:
//插入排序
public static void InsertSort(int[] arr){
int index = 0;
int temp = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] >arr[i+1]){
index = i+1;
break;
}
}
for (int i = index; i < arr.length; i++) {
for (int j = i; j >0; j--) {
if (arr[j] <arr[j-1]){
temp = arr[j];
arr[j] = arr[j-1];
arr[j-1] = temp;
}
}
}
}
算法测试:
//插入测试:
InsertSort(arr);
System.out.println(Arrays.toString(arr));
测试结果:
算法时间复杂度:O(n)²