2.二分插入排序
二分插入排序的原理:
二分插入排序就是 在原来的插入排序基础上使用了二分查找法找到待插入位置。在效率上有所提升。
代码如下:
public void baneryInsertSort(int[] array) {
for (int i = 1; i < array.length; i++) {
int temp = array[i];
int left = 0;
int right = i - 1;
int middle = 0;
while (left <= right) {
middle = (left + right) / 2;
if (array[middle] > temp) {
right = middle - 1;
} else {
left = middle + 1;
}
}
for (int j = i - 1; j >= left; j--) {
array[j + 1] = array[j];
}
array[left] = temp;
}
}