Chinaunix首页 | 论坛 | 博客
  • 博客访问: 402353
  • 博文数量: 199
  • 博客积分: 154
  • 博客等级: 入伍新兵
  • 技术积分: 1530
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-14 08:43
文章分类

全部博文(199)

文章存档

2015年(101)

2014年(97)

2011年(1)

分类: C/C++

2015-04-20 20:38:23

void shellsort(int k[],int n)
{
    int i, j, flag ,gap = n;
    int tmp;
    while(gap > 1){
    gap = gap/2;                /*增量减半*/
    do{                        /*冒泡*/
        flag = 0;
        for(i=1;i<=n-gap;i++){
            j = i + gap;
            if(k[i]                 tmp = k[i];
                k[i] = k[j];
                k[j] = tmp;
                flag = 1;
                }
            }
         }while(flag !=0);
    }
}


void shell()
{
    int i,a[11] = {-111,2,5,6,3,7,8,0,9,12,1};            /*初始化序列,a[0]任意*/
    printf("The orginal data array is\n") ;
    for(i=1;i<=10;i++)                            /*执行*/
        printf("%d ",a[i]);
    shellsort(a,10);                                /*希尔*/
    printf("\nThe result of Shell's sorting for the array is\n");
    for(i=1;i<=10;i++)
        printf("%d ",a[i]);                            /*打印*/
}

阅读(1406) | 评论(0) | 转发(0) |
0

上一篇:冒泡排序

下一篇:系统监控之python

给主人留下些什么吧!~~