#include<iostream> using namespace std; void Shellsort(int *a,int len) { int gap; for(gap=3;gap>0;gap--) { for(int i=0;i<gap;i++) for(int j=i+gap;j<len;j=j+gap) { if(a[j]<a[j-gap]) { int temp=a[j]; int k=j-gap; while(k>=0&&a[k]>temp) { a[k+gap]=a[k]; k=k-gap; } a[k+gap]=temp; } } } } int main() { int n=5; int a[10]; for(int i=0;i<n;i++) { cin>>a[i]; } Shellsort(a,n); for(int j=0;j<n;j++) { cout<<a[j]<<" "; } }
时间: 2024-10-01 02:38:10