希尔排序:插入排序的变体
不稳定排序方法
性能优于插入排序 ,时间复杂度O(n^(1+x), 0<x<1, 空间复杂度O(1)
//shell sort
template <typename T>
void shell_sort(T *A,int size){
int increment=size;
int i,j;
T temp;
if(increment==1)
return;
while(increment>1){
increment=increment/3+1;
for(i=increment;i<size;i++){
j=i;
temp=A[j];
while(j && A[j-increment]>temp){
A[j]=A[j-increment];
j-=increment;
}
A[j]=temp;
}
}
}