直接插入排序.c

时间:2020-12-23 06:19:26
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 1000
typedef struct
{
    int r[MAXSIZE+1];
    int length;
}SqList;
void insertSort(SqList *L)
{
    int i,j;
    for(i=2;i<=L->length;i++)
        {
            if(L->r[i]<L->r[i-1])
            {
                L->r[0]=L->r[i];
                for(j=i-1;L->r[j]>L->r[0];j--)
                    L->r[j+1]=L->r[j];
                L->r[j+1]=L->r[0];
            }
        }
}
int main()
{
    SqList L;
    int i,n;
    scanf("%d",&L.length);
    L.r[0]=0;
    for(i=1;i<=L.length;i++)
    {
        scanf("%d",&L.r[i]);
    }
    insertSort(&L);
    for(i=1;i<=L.length;i++)
        printf("%d ",L.r[i]);
    return 0;
}