希尔排序

#include "iostream"
using namespace std;

void XierPaixu(int a[],int size,int length){
    for(int i=size;i>0;i=i/2){
        for(int j=i;j<length;j++){
            int key=a[j];
            for(int k=j-i;k>=0&&a[k]>key;k-=i){
                    a[k+i]=a[k];
            }
        a[k+i]=key;
        }
    }
}

void main(){
    int a[]={1,7,4,3,8,2};

    XierPaixu(a,3,6);
    for(int i=0;i<=5;i++){
        cout<<a[i]<<" ";
    }
    cout<<endl;
}
原文地址:https://www.cnblogs.com/593213556wuyubao/p/3668153.html