/**
* 直接插入排序
*/
public void insertSort(int[] arr) {
int tmp;
for(int i = 1; i < arr.length; i++){
if(arr[i] < arr[i-1]){
tmp = arr[i];
for(int j = i; j >= 0; j--){
if(j > 0 && (arr[j - 1] > tmp)){
arr[j] = arr[j - 1];
}else {
arr[j] = tmp;
break;
}
}
}
}
}
// 折半插入排序
他们的时间复杂度和空间复杂度一样,相对于简单的插入排序,折半插入排序减少了比较的次数,移动次数并没有改变
时间复杂度:O(n^2)
空间复杂度:O(1)