希尔排序

#include <iostream>
using namespace std;
void xier(int r[],int n){
int d,i,j;
for(d=n/2;d>=1;d=d/2){
for(i=d+1;i<=n;i++){
r[0]=r[i];
for(j=i-d;j>0&&r[0]<r[j];j=j-d)
r[j+d]=r[j];
r[j+d]=r[0];
}
}
}
int main(){
int r[7]={0,20,15,25,14,13,36};
xier(r,6);
for(int i=1;i<7;i++){
cout<<r[i]<<endl;
}
return 0;
}

原文地址:https://www.cnblogs.com/apple-apple-apple/p/4387041.html