📄 binaryinsertsort.h
字号:
template
< class T >
void BinaryInsertSort(T a[], int N, int& KCN, int& RMN)
{
KCN = 0;
RMN = 0;
for (int i = 1; i < N; i++)
{
T temp = a[i];
RMN++;
int low = 0, high = i - 1;
while (low <= high) //折半查找
{
int mid = (low + high) / 2;
if (++KCN && temp < a[mid])
high = mid - 1;
else
low = mid + 1;
}
for (int j = i - 1; j >= low; j--)
{
a[j + 1] = a[j];
RMN++;
} //记录后移
a[low] = temp;
RMN++; //插入
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -