求问第18行的那个k=i是什么意思 还有前面的那个k=j是什么意思
答案:2 悬赏:40 手机版
解决时间 2021-02-22 22:26
- 提问者网友:两耳就是菩提
- 2021-02-22 16:23
求问第18行的那个k=i是什么意思 还有前面的那个k=j是什么意思
最佳答案
- 五星知识达人网友:第幾種人
- 2021-02-22 16:59
内层循环中k=j的意义是,k总是记录从j到n-1中分数最大的学生的位置,因为当k的分数小于j的分数时,就把j赋给k,说明赋值后k的分数总不小于j。前面k=i是为了给k赋一个初始值,所以实际上内层循环结束时,k记录的是从i到n-1中分数最大的学生的位置。最后k的分数与i的分数对换,就是说把分数最大的放到i的位置。其实就是逐步把分数大的前移,所以这个程序是排序算法,按从大到小排序,这个是选择排序法。因为每次内层循环都选出一个最大的数。
全部回答
- 1楼网友:千杯敬自由
- 2021-02-22 18:00
选择法排序时需要一个临时变量来存储从第i个元素开始向后的值最小的元素的下标。就是说从第i个元素开始到最后遍历一遍后,k下标的元素值是最小的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯