标签:
#include<stdio.h> #include<iostream> using namespace std; int n; void ShellInsert(int a[],int k) { int i,j; for(i=k+1;i<=n;i++) //增量为k,跳跃式移动 { if(a[i]<a[i-k]) { a[0]=a[i]; for(j=i-k;j>0&&a[0]<a[j];j-=k) a[j+k]=a[j]; a[j+k]=a[0]; } } } void ShellSort(int a[],int b[],int t) { int i; for(i=1;i<=t;i++) ShellInsert(a,b[i]); } int main () { int a[100],b[10],i; cin>>n; for(i=1;i<=n;i++) cin>>a[i]; for(i=1;i<=n;i++) cin>>b[i]; // 增量数组 ShellSort(a,b,n); for(i=1;i<=n;i++) cout<<a[i]<<" "; return 0; }
标签:
原文地址:http://blog.csdn.net/fyxz1314/article/details/42640017