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;
}

  

posted @ 2018-04-24 15:02  松手丶明晃晃  阅读(1148)  评论(0编辑  收藏  举报