返回信息流Java中的排序,我的思路是 n 个数据比较 n-1 次,第一次取出最大的放到arr[0],第二次选出第二大的放大arr[1],以此类推。但不知道为什么max声明放在第一个循环中就不行,放到内循环中就可以了。这也不是局部变量啊,在循环内外都能用。详细情况如图所示。
请大佬们赐教,谢谢啦[ema23]
这是一条镜像帖。来源:北邮人论坛 / java / #59631同步于 2018/7/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
【问题】Java中排序问题
Liyuchen0809
2018/7/15镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
因为你放在外边的时候,并没有每次更新max的值,反而每次用max来比大小,肯定不对
【 在 Liyuchen0809 (Laputa) 的大作中提到: 】
: [upload=1][/upload][upload=2][/upload]
: Java中的排序,我的思路是 n 个数据比较 n-1 次,第一次取出最大的放到arr[0],第二次选出第二大的放大arr[1],以此类推。但不知道为什么max声明放在第一个循环中就不行,放到内循环中就可以了。这也不是局部变量啊,在循环内外都能用。详细情况如图所示。
: 请大佬们赐教,谢谢啦[ema23]
: ...................
【 在 lycxy 的大作中提到: 】
: 因为你放在外边的时候,并没有每次更新max的值,反而每次用max来比大小,肯定不对
每次循环后 i 的值就会加 1 ,max = arr[i-1],这样每次内循环完成后,max的值就会重新选定,所以max的值是更新了的呀
你内循环每次比较没有更新啊
【 在 Liyuchen0809 (Laputa) 的大作中提到: 】
: 每次循环后 i 的值就会加 1 ,max = arr[i-1],这样每次内循环完成后,max的值就会重新选定,所以max的值是更新了的呀