算法 直接插入排序 c语言

来源:互联网 发布:最长递增子序列 c语言 编辑:程序博客网 时间:2024/05/18 20:47
#include<stdio.h>
#define N 8
void seqsearch(int a[]);
void show(int a[]);
int main()
{    
    
    int a[N] = {50,36,66,76,95,12,25,36};
    printf("原无序记录:\n");
    show(a);
    printf("排序过程如下\n");
    seqsearch(a);
    return 0;
}
void show(int a[])
{
    int i;
    for(i = 0;i < N;i++)
    {
        printf("%d\t",a[i]);
    }
    puts("");
}
void seqsearch(int a[])
{
    int i,j,tmp;
    for(i = 1;i < N;i++)
    {
        tmp = a[i];
        for(j = i - 1;j >= 0;j--)
        {
            if(tmp < a[j])
                a[j+1] = a[j];
            else
                break;
        }
        a[j+1] = tmp;
        show(a);
    }
}