-Be quiet 2021-08-10 20:23 采纳率: 0%
浏览 17

希尔排序在分好组之后,组内排完,各个组之间是怎么拍的?

比如升序
47382651
分完组
42 76 35 81
组内整理完
24 67 35 18之后呢?

  • 写回答

1条回答 默认 最新

  • 关注

    参考:

    #include <stdio.h>
    int shsort(int s[], int n)    /* 自定义函数 shsort()*/
    {
        int i,j,d;
        d=n/2;    /*确定固定增虽值*/
        while(d>=1)
        {
            for(i=d+1;i<=n;i++)    /*数组下标从d+1开始进行直接插入排序*/
            {
                s[0]=s[i];    /*设置监视哨*/
                j=i-d;    /*确定要进行比较的元素的最右边位置*/
                while((j>0)&&(s[0]<s[j]))
                {
                    s[j+d]=s[j];    /*数据右移*/
                    j=j-d;    /*向左移d个位置V*/
                }
                s[j + d]=s[0];    /*在确定的位罝插入s[i]*/
            }
            d = d/2;    /*增里变为原来的一半*/
        }
    return 0;
    }
    int main()
    {
        int a[11],i;    /*定义数组及变量为基本整型*/
        printf("请输入 10 个数据:\n");
        for(i=1;i<=10;i++)
        scanf("%d",&a[i]);    /*从键盘中输入10个数据*/
        shsort(a, 10);    /* 调用 shsort()函数*/
        printf("排序后的顺序是:\n");
        for(i=1;i<=10;i++)
        printf("%5d",a[i]);    /*输出排序后的数组*/
        printf("\n");
        return 0;
    }
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 8月10日

悬赏问题

  • ¥15 Vs2022安装时黑框闪退无反应
  • ¥15 嵌入式设备网口down后再up时不能link?
  • ¥15 关于区块链和边缘计算
  • ¥15 做一个简单项目,用Python分析共享单车的数据
  • ¥20 在使用CESM2.2.0模型进行case.submit过程中出现如下错误(关键词-Map)
  • ¥15 有办法改变通过wifi进入的网站的设置吗
  • ¥15 所以到底怎么算!算到凌晨五点都算不出来!
  • ¥15 label_studio
  • ¥15 请教如何phython发邮件
  • ¥15 linux系统安装问题