sedgewick增量序列的希尔排序
#include<bits/stdc++.h> using namespace std; int s[3]={1,5,19}; void shellsort(int *a,int n){ for(int i=2;i>=0;i--){ if(s[i]>n) continue; for(int j=s[i];j<=n;j+=s[i]){ for(int k=1;k<=j;k+=s[i]){ if(a[j]<a[k]){ swap(a[j],a[k]); } } } } return ; } int main(){ int a[9]={0,1,7,5,2,4,3,6,8}; shellsort(a,9); for(int i=1;i<=9;i++){ cout<<a[i]<<endl; } return 0; }