胡尔曦
2021-12-17 21:02
采纳率: 100%
浏览 17

初学者遇到一些基础排序算法上的问题

img

img

img

img

对顺序表进行四种排序,冒泡排序和选择排序表现正常,但直接插入排序总是出现问题(数据发生改变),希尔排序更是运行不了:

img

img


求解答

图片转代码服务由CSDN问答提供 功能建议

 希尔排序
日voidShel1Sort(SaList&L
     imtdk,S,i,j
    for(dk=L.length/2:dk>=1:dk-dk/2)
        for(i=dlk:i<L.length;i++)
日 ifL.data[i]L.data[i-dk])
               S=L.data[i];
               for(i=i-山k:j>0&S<L.data[i]:j=j-dk)
                  L.data[i+山k] =L.data[i];
               L.data[i+dk]=3;
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • qq_34024716 2021-12-17 22:03
    最佳回答

    希尔排序这一行,变量没改变,死循环了,其他没仔细看

    img

    直接插入排序,你的j貌似没有下界,就是>=0

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题