请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

双路快速排序这里的边界条件是否可以更改?

老师我认为i>=j时候就可以直接break掉了不需要进行后面的判断,因为当i=j时候也就是那个特殊的位置元素一定是v这个数值大小,而且自己和自己交换也没有意义。最后仍然满足快速双路快速排序的性质,即左边的元素都是小于等于v,右半的元素都是大于等于v。虽然l交换的位置一个是j一个是j-1但是不影响结果。图片描述

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2019-05-16 08:39:16

如果你的意思是将 if(i > j) break

改成 if(i >= j) break


没有问题,你是对的。程序的逻辑依然正确:)


继续加油!:)

1 回复 有任何疑惑可以回复我~
  • https://coding.imooc.com/learn/questiondetail/81440.html
    bobo老师在这个里的回答不是不可以吗?
    回复 有任何疑惑可以回复我~ 2019-10-28 19:23:48
  • 上面的回答有问题,我已经在原回答上进行了补充。i >= j 的时候 break 掉没有问题。
    回复 有任何疑惑可以回复我~ 2019-10-29 05:58:29
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信