64,649
社区成员
发帖
与我相关
我的任务
分享
template<class T>
void Binary_InsertionSort(T a[], int n)
{
int i, j, s, m, k;
T x;
for(i = 1; i < n; i++)
{
x = a[i];
s = 0;
j = i - 1;
while(s <= j)
{
m = (s + j) / 2;
if(x < a[m]) j = m - 1;
else s = m + 1;
}
for(k = i - 1; k >= s; k--)
a[k+1] = a[k];
a[s] = x;
}
}
template<class T>
void Binary_InsertionSort(T a[], int n)
{
int i, j, s, m, k;
T x;
for(i = 1; i < n; i++)//这里循环n-1次
{
x = a[i];
s = 0;
j = i - 1;
while(s <= j)//这里循环i次
{
m = (s + j) / 2;
if(x < a[m]) j = m - 1;
else s = m + 1;
}
for(k = i - 1; k >= s; k--)//这里也循环i次
a[k+1] = a[k];
a[s] = x;
}
}