#include <bits/stdc++.h>
using namespace std;
void shersort(int a[], int n)
{
int i, k, j;
for(k = n/2; k>=1; k=k/2)//生成排序间隔数
{
for(i = k; i<n; i++)
{
int m = a[i];//需要进行比较的数据
for(j=i;j-k>=0;j=j-k)//将数据进行比较
{
if(a[j-k]>m)//让m一直比较下去
{
a[j] = a[j-k];
}
else break;
}
a[j] = m;//将m放在最后比较后的位置
}
}
}
int main()
{
int i, a[15], n;
cin>>n;
for(i = 0; i<n; i++)
{
cin>>a[i];
}
shersort(a, n);
for(i = 0;i<n; i++)
{
cout<<a[i]<<endl;
}
return 0;
}
希尔排序
最新推荐文章于 2021-04-14 15:57:38 发布