正在回答 回答被采纳积分+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 先模拟完,彻底理解了选择排序算法到底是在做什么,再去看代码为什么这么实现。
继续加油!:)
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星