99,88,77,66,55,44,33,22,11如果换成这组数据 结果就不对了 这个遍历过程很好理解
冒泡排序外循环是控制从数组第一个数开始一直到倒数第二个数结束
内循环是控制以外循环选择的数为起点以后向后进一个数 两两比较 知道最后两个数比较
你如果把外循环的中指条件换成Array.length-x-1 如果是五个数的数组70,1,3,32,9相当于 外循环进行了两次也就是第一次循环冒泡得到的数组为1,3,32,9,70
第二次循环得到1,3,9,32,70 所以结果是对的 如果就拿五个数为例 拿一组需要冒泡三次以上的 你的言论就不成立了 比如55,44,33,22,11
第一次循环44,33,22,11,55 第二次循环为33,22,11,44,55 返回结果是这个 还有其实你可以不用返回数组类型 因为是引用数据类型类似于c的指针 不是形参直接操作的就是原地址
最后 谢谢 希望能对你有所帮助 PS:如果循环搞不懂试着在纸上一步一步走 或者用调试工具 很有趣味的 |