编辑代码

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

//打印数据
void Print(int* a,int  n)
{
    for (int i=0;i<n;++i)
    {
        printf("%d ",a[i]);
    }
    printf("\n");
}
 
//直接插入排序
void InsertSort(int *a, int n)//升序
{
    for (int i=0;i<n-1;++i)
    {
        int end = i;
        int tmp = a[end + 1];;
        while (end>=0)
        {
            if (a[end] > tmp)
            {
                a[end+1] = a[end];
                --end;
            }
            else
            {
                break;
            }
            a[end + 1] =tmp;
        }
        printf("第%d次排序",i);
        Print(a,n);
    }
    //打印数据
    printf("最终结果");
    Print(a,n);
}
 
int main()
{
    int a[11] = {11, 9, 20, 7,56, 9,42, 3, 7,15,16 };
    //直接插入排序
    InsertSort(a,sizeof(a)/sizeof(a[0]));
    return 0;
}