简单插入类排序

#include<stdio.h>
//算法
void insort(int p[], int n)
{
    int j,k,t;
    for(j=1;j<n;j++)
    {
        t=p[j];//p[j]为正要排序的元素,将其赋值给一个变量
        k=j-1;
        while((k>=0)&&(p[k]>t))//将所赋值的变量与数组前面的元素比大小
        {
            p[k+1]=p[k];
            k--;
        }
        p[k+1]=t;//比较完毕,把变量赋值给正确的数组位置
    }
    return;
}
//实现算法
void main()
{
    int i;
    int p[]={2,3,7,1,23,675,34,2,56,78};
    printf("排序前
");
    for(i=0;i<10;i++)
        printf("%d,",p[i]);
    printf("
");
    insort(p,10);
    printf("排序后
");
    for(i=0;i<10;i++)
    printf("%d,",p[i]);
    getchar();
}

 最基本的插入排序,想了1小时才明白,可能有不对的地方=。=

原文地址:https://www.cnblogs.com/minelucky/p/3183593.html