C语言:插入排序

#include <stdio.h>
int ab[10] ={99,1,3,8,11,34,104,87,33,41};
void insea(int a[],int n)
{
    int i,j,x;
    for(i=0;i<n;i++){
        if(a[i]<a[i-1]) {
            j=i-1;
            x=a[i];
            a[i]=a[i-1];
            while(x<a[j])
            {
                a[j+1]=a[j];
                j--;
            }
            a[j+1]=x;
            
        }
    }
}
main()
{
    insea(ab,10);
    int i;
    for(i=0;i<=9;i++)
    printf("%d ",ab[i]);
    getchar();
 }

 

 

#include <stdio.h>
//保持原有顺序
main()
{
    int a[20]={3,7,10,12,18,20};
    int i,j,t;
    scanf("%d",&a[6]);
    for(i=0;i<=6;i++)
    for(j=i+1;j<=6;j++)
    {
        if(a[j]<a[i]) t=a[i],a[i]=a[j],a[j]=t;
    }
    for(i=0;i<7;i++)
    printf("%d ",a[i]);
    getchar();
 }

 

posted @ 2022-09-22 16:40  myrj  阅读(62)  评论(0编辑  收藏  举报