内循环的j<a.length-i-1的意思
老师说是凑第一个,但是这样不严谨吧?a.length-i-1代表什么意思呢?为什么这个能判断出互换的次数?
61
收起
正在回答
1回答
冒泡排序的基本原理是:依次比较相邻的两个数,小数放前,大数放后。第一趟:先比较第1个数和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,小数放前,大数放后,依次类推,直至比较最后两个数,小数放前,大数放后。到第一趟结束,将最大的数就放到了最后。在第二趟:仍从第一个数开始(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,这样在倒数第二的位置上就得到了一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。
冒泡排序算法其实就是利用一个二重循环对数列进行扫描,外循环从0到a.length-1,内循环从0到a.length-i-1,因为外循环每一趟结束之后,末端就会有一个大的元素到位,因此每一趟内循环搜索的范围在减少。
如果解决了你的疑惑,请采纳,祝学习愉快~
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星