图解冒泡排序
冒泡排序之所以叫冒泡排序,是因为其排序规则如果水中气泡一样,从底部到顶部依次变大,最顶部的一定是最大值,通过不断的冒泡,实现数据的有序化。
从底部开始冒泡,冒泡到哪个位置,该位置即为底部元素中的最大值,一轮冒泡结束,最大值就到了顶部。进行数组长度-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));