【排序】插入排序

复杂度: O(n2)

#include <stdio.h>

void InsertSort(int *a, int size)
{
    int temp,j;
    for(int start=1;start<size;start++)
    {
        temp = a[start];
        for(j = start;j>0&&(temp < a[j-1]);j--)
        {
            a[j] = a[j-1];
            
        }
        a[j]=temp;

        
    }
}

void print_content(int *a, int size)
{
        for(int i=0;i<size;i++)
        {
            printf("%d\t",a[i]);
        }
        printf("\n");
}
int main(void)
{

        int a[]={10,17,18,19,13,14,15,11,12,16,21,20,23,22};
        InsertSort(a,sizeof(a)/sizeof(a[0]));
        print_content(a,sizeof(a)/sizeof(a[0]));

        return 0;

 

posted @ 2011-10-30 14:26  邓维  阅读(176)  评论(0编辑  收藏  举报