插入排序:直接插入排序,希尔排序
希尔排序:(又称缩小增量排序法)
解释说明:
稳定性:希尔排序是不稳定的
ASL:希尔排序提高了排序速度,时间复杂度: T(n) = O(n^1.5)
代码:
#include <stdio.h>
void ShellSort(int a[], int len){
int i,j,k,temp;
int dis = len/2;
while(dis > 0){
for(i = dis;i < len;i++){
temp = a[i];
for(j = i - dis; j >= 0 && a[j] > temp ;j -= dis)
a[j + dis] = a[j];
a[j + dis] = temp;
}
dis /= 2;
}
for(i = 0;i < len;i++)
printf("%d ",a[i]);
}
int main()
{
int a[10] = {1,4,7,2,5,8,3,6,9,10};
ShellSort(a,10);
return 0;
}