SDUT3403数据结构实验之排序六:希尔排序

来源:互联网 发布:南昌神起网络 编辑:程序博客网 时间:2024/05/31 18:43
#include<bits/stdc++.h>using namespace std;int a[10100],n;void shell(int dk){    int i,j;    for(i=dk+1;i<=n;i++)    {        if(a[i]<a[i-dk])        {            a[0]=a[i];            for(j=i-dk;j>0&&a[0]<a[j];j-=dk)                a[j+dk]=a[j];            a[j+dk]=a[0];        }    }}int main(){    while(~scanf("%d",&n))    {        for(int i=1; i<=n; i++)            scanf("%d",&a[i]);        shell(n/2);        for(int i=1; i<=n; i++)            printf("%d%c",a[i],i==n?'\n':' ');        shell(1);        for(int i=1; i<=n; i++)            printf("%d%c",a[i],i==n?'\n':' ');    }    return 0;}

0 0
原创粉丝点击