Just do it130 2021-10-12 22:55 采纳率: 93.3%
浏览 16
已结题

希尔排序能运行但是没有结果

img


代码哪里有问题,能运行,但是没有结果,输出是空的

  • 写回答

1条回答 默认 最新

  • 神仙别闹 2021-10-13 01:27
    关注

    希尔排序是插入排序的一种优化,其思想为将无序数组分割为若干个子序列,子序列不是逐段分割的,而是相隔特定的增量的子序列,对各个子序列进行插入排序;然后再选择一个更小的增量,再将数组分割为多个子序列进行排序......最后选择增量为1,即使用直接插入排序,使最终数组成为有序。增量的选择上比较普遍是一半一半递减选取,10个数字无序序列,增量是len/2,然后不断缩短,最后一次增量为1.

    void ShellSort()
    {
        int gap = len/ 2;//初始增量为数组长度的一半
        while (1 <= gap) 
        {
            for (int i = gap; i < len ; i++) 
            {
                int j = 0;
                int temp = iRawBuff[i];
                for (j = i - gap; j >= 0 && temp < iRawBuff[j]; j = j - gap)
                {
                    iRawBuff[j + gap] = iRawBuff[j];
                }
                iRawBuff[j + gap] = temp;
            }
            gap = gap / 2; 增量为上次的二分之一
        }
        for (int k = 0; k < len; k++)
        {
            cout << iRawBuff[k] << "   ";
        }
        cout << endl;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月27日
  • 已采纳回答 10月19日
  • 创建了问题 10月12日

悬赏问题

  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体