排序算法-插入排序(容易排序、shell排序)

排序算法---插入排序(简单排序、shell排序)

#include <stdio.h>
void simple_sort(int a[], int n)
{
        int i,j,tmp;
        for(i=1;i<n;i++)
        {
                tmp=a[i];
                for(j=i;j>0&&tmp<a[j-1];j--)
                        a[j]=a[j-1];
                a[j]=tmp;
        }
}
void shell_sort(int a[], int n)
{
        int i,j,tmp;
        int gap=n/2;
        while(gap>0)
        {
                for(i=gap;i<n;i++)
                {
                        tmp=a[i];
                        for(j=i;j>=gap&&tmp<a[j-gap];j-=gap)
                                a[j]=a[j-gap];
                        a[j]=tmp;
                }
                gap/=2;
        }
}