插入排序:
void insert_sort(int *arr,int len)
{
for(int i=1;i<len;i++)
{
int tmp=arr[i];
int j=i-1;
while(j>=0&&tmp<arr[j])
{
arr[j+1]=arr[j];
j--;
}
arr[j+1]=tmp;
}
}
希尔排序:
void shell_sort(int *arr,int len)
{
int idx=len;
while(idx>1)
{
idx=idx/2;
for(int i=idx;i<len;i++)
{
int tmp=arr[i];
int begin=i-idx;
while(begin>=0&&tmp<arr[begin])
{
arr[begin+idx]=arr[begin];
begin-=idx;
}
arr[begin+idx]=tmp;
}
}
}