冒泡排序之所以叫冒泡排序,是因为其排序规则如果水中气泡一样,从底部到顶部依次变大,最顶部的一定是最大值,通过不断的冒泡,实现数据的有序化。

从底部开始冒泡,冒泡到哪个位置,该位置即为底部元素中的最大值,一轮冒泡结束,最大值就到了顶部。进行数组长度-1次数的冒泡,数据就可以实现从大到小的排序了。
这一轮的冒泡,顶部的对应位置已经是有序的最大值了,因此下一轮的冒泡可以不与数组顶部进行比较了,节约时间成本。
示例代码:
int[] arr = new int[]{3, 5, 11, 2, 8};
for(int i = 0; i< arr.length-1; i++){
for(int j = arr.length-1; j>i; j--){
int tmp = arr[j];
if (arr[j] > arr[j-1]){
arr[j] = arr[j-1];
arr[j-1] = tmp;
}
}
}
System.out.println(Arrays.toString(arr));
原文:https://www.cnblogs.com/aigeileshei/p/12244813.html