直接插入排序(Insert_sort)

白话经典算法系列之二 直接插入排序的三种实现

#include
void Insert_sort(int a[],int n)
{
    for(int i=1;i<n;i++){
        for(int j=i-1;j>=0;j--){
            if(a[j]<a[j+1]){
                a[j]=a[j]^a[j+1];
                a[j+1]=a[j]^a[j+1];
                a[j]=a[j]^a[j+1];
            }
            else
                break;
        }
    }
}

int main()
{
    int n,a[100005];
    while(~scanf("%d",&n))
    {
        for(int i=0;i<n;i++){
            scanf("%d",&a[i]);
        }
        Insert_sort(a,n);
        for(int i=0;i<n;i++){
            printf("%d ",a[i]);
        }
    }
    return 0;
}

你可能感兴趣的:(排序)