#include <iostream>
#include <algorithm>
using namespace std;
int a[55]= {0};
int main()
{
int n=0;
cin>>n;
for(int i=0; i<n; i++)
{
cin>>a[i];
}
int d=n/2;
while(d)
{
for(int i=0; i<n; i++)
{
for(int j=i; j<n-d; j+=d)
{
for(int k=i+d; k<n; k+=d)
{
if(a[j]>a[k]) swap(a[j],a[k]);
}
}
}
for(int j=0; j<n; j++)
{
cout<<a[j];
if(j!=n-1) cout<<" ";
}
cout<<endl;
d/=2;
}
return 0;
}
【偷懒代码】SCAU 8640 希尔(shell)排序
最新推荐文章于 2024-09-12 19:02:20 发布