老师这里的这个j- -没想明白

老师这里的这个j- -没想明白

https://img1.sycdn.imooc.com//climg/6233335a08154ff010000463.jpg
第二个for循环里的条件,j- -是为什么啊?

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

登陆购买课程后可参与讨论,去登陆

1回答
liuyubobobo 2022-03-18 01:30:02

我不是很确定我是否理解了你的问题。


我们在内层循环是从后向前遍历每一个元素。比如 i = 5,我们是依次看:(5, 4) 两个元素是否需要交换?如果需要交换,我们再看,(4, 3) 两个元素是否需要交换?如果需要交换,我们再看 (3,2)两个元素是否需要交换?依次类推。


===========


对应的视频模拟的动画中:https://class.imooc.com/lesson/1578#mid=36098


以 6:30 的这轮循环为例,蓝色的箭头 j 是在往前移动的。这就是 j --


这个动画模拟我没有模拟完,我强烈建议你先不要看代码,按照第一小节的思路,把这个动画模拟对于最后的两个元素 1 和 5 先模拟完,彻底理解了选择排序算法到底是在做什么,再去看代码为什么这么实现。


继续加油!:)

  • 提问者 慕用2297853 #1
    感谢老师,我想明白了,谢谢老师🥰
    2022-03-18 09:22:41
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
算法与数据结构
  • 参与学习       2583    人
  • 解答问题       1082    个

慕课网算法名师Liuyubobobo,5年集大成之作 从0到工作5年,算法与数据结构系统解决方案

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师