一、思路:
较插入排序,减少了比较的次数,但是插入时间还是一样。
(1)按二分查找的方法,查找V[i]在V[0],V[1]…V[i-1]中插入的位置;
(2)将插入位置的元素向后顺移。
二、实现程序:
// 二分插入:较插入排序,减少了比较的次数,但是插入时间还是一样
// 时间复杂度还是:O(n*n)
#include <iostream>
using namespace std;
const int maxSize = 20;
template <class T>
void BinInsertSort(T arr[], const int left, const int right) {
int i, j, low, high, mid;
T temp;
for(i = left+1; i <= right; i++) {
temp = arr[i]; // 暂存arr[i]
l