平均时间复杂度nlogn 最坏情况下n^2
#include <stdio.h>
#include <stdlib.h>
void BInsertSort(int num[],int n)
{
int gap,i,j,temp;
for(gap=n/2;gap>0;gap/=2)
{
for(i=gap;i<n;i++)
{
for(j=i-gap;j>=0;j-=gap)
{
if(num[j]>=num[j+gap])
{
temp=num[j];
num[j]=num[j+gap];
num[j+gap]=temp;
}
}
}
}
}
int main()
{
int num[12]= {8,9,10,22,11,7,6,2,3,1,5,4};
BInsertSort(num,12);
for(int i=0; i<12; i++)
{
printf("%d\n",num[i]);
}
return 0;
}