编辑代码

#include <stdio.h>
void dis(int arr[], int len);
void insertSort(int arr[], int len);
int main()
{
    int arr[] = {1, 23, 4, 69, 25, 9};
    int len=sizeof(arr)/sizeof(arr[0]);
    printf("初始序列\t哨兵\t");
    dis(arr, len);
    insertSort(arr, len);
    return 0;
}

void insertSort(int arr[], int len)
{
    int i, j, ref;
    for (i = 1; i < len; i++)
    {
        ref=arr[i];
        j=i-1;
        while(ref<arr[j]){
            arr[j+1]=arr[j];
            j--;
        }
        arr[j+1]=ref;
        printf("第%d次排序\t%d\t",i-1,ref);
        dis(arr,len);
    }
}

void dis(int arr[], int len)
{
    int i;
    for (i = 0; i < len; i++)
    {
        printf("%d ", arr[i]);
    }
    printf("\n");
}