c语言实现直接插入排序

直接插入排序是一种最简单的排序方法,其基本操作是将一条记录插入到已排好的有序表中,从而得到一个新的、记录数量增1的有序表。
这里写图片描述
这里写图片描述

#include<stdio.h>
#include<Windows.h>
#include<assert.h>
void Insertsor(int *a,int n )
{
    for (int i = 0; i < n - 1; i++)
    {
        int end =i;
        int tmp = a[end + 1];
        while (end >= 0 && a[end] > tmp)
        {
            a[end+1] = a[end];
            --end;
        }
        a[end + 1] = tmp;

    }
}
void print(int *a,int n)
{
    for (int i = 0; i < n; i++)
    {
        printf("%d", a[i]);
    }
}
int main()
{
    int a[] = { 3,2,4,7,5,6,8,9,0,1 };
    int n = sizeof(a)/sizeof(a[0]);
    Insertsor(a, n);
    print(a, n);
    system("pause");
    return 0;   
}

这里写图片描述

猜你喜欢

转载自blog.csdn.net/weixin_40853073/article/details/80384437