#include <stdio.h>

#define N 20

int main()
{
    int a[N] = {
        45, 12, 78, 3, 56,
        29, 91, 17, 64, 8,
        33, 70, 1, 52, 86,
        24, 39, 95, 11, 60
    };

    int i, j, temp;

    printf("排序前的数据：\n");
    for(i = 0; i < N; i++)
        printf("%d ", a[i]);

    // 直接插入排序
    for(i = 1; i < N; i++)
    {
        temp = a[i];
        j = i - 1;

        while(j >= 0 && a[j] > temp)
        {
            a[j + 1] = a[j];
            j--;
        }

        a[j + 1] = temp;
    }

    printf("\n\n直接插入排序后的数据：\n");
    for(i = 0; i < N; i++)
        printf("%d ", a[i]);

    return 0;
}