这是冒泡排序,你先要理解冒泡排序的算法啊!
首先把第一个元素与第二个元素进行比较(如果第一个大交换),那么这时候是这样的1, 3, 9, -10, 8, 0;接着再把第二个元素与第三个进行比较,这时候
1, 3, 9, -10, 8, 0(元素的位置并没有变);接着多次比较,最后9跑到最后了1, 3, -10, 8, 0, 9。
但是,这还没完要接着第二趟进行比较:……
int[] arr = new int[] {3, 1, 9, -10, 8, 0};
外层循环是控制趟数,内层循环是控制比较的次数。每一趟完后,最大数就往后排,因此内层循环比较的次数应该要减少(没必要再比较后面的了)。那么仔细观察,这个次数与x刚好相反(x增加,次数就减少)。 |