希尔排序

来源:互联网 发布:守望先锋数据 编辑:程序博客网 时间:2024/06/08 01:32

测试数据:

13
81 94 11 96 12 35 17 95 28 58 41 75 15

部分数据位置变化:

81 94 11 96 12 35 17 95 28 58 41 75 15


17 94 11 96 12 35 81 95 28 58 41 75 15


17 94 11 58 12 35 81 95 28 96 41 75 15


17 94 11 58 12 35 15 95 28 96 41 75 81


15 94 11 58 12 35 17 95 28 96 41 75 81

#include<stdio.h>void shellsort(int an[],int n){int i,j,increment,tmp;for(increment=n>>1;increment>0;increment>>=1){for(i=increment;i<n;i++){tmp=an[i];for(j=i;j>=increment;j-=increment){if(tmp<an[j-increment])an[j]=an[j-increment];elsebreak;}an[j]=tmp;}}}int main(){int n,an[1000]={0};scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&an[i]);}shellsort(an,n);for(int i=0;i<n;i++){printf("%d ",an[i]);}return 0;}

原创粉丝点击