图解冒泡排序

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

 

 

 从底部开始冒泡,冒泡到哪个位置,该位置即为底部元素中的最大值,一轮冒泡结束,最大值就到了顶部。进行数组长度-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));

  

posted @ 2020-01-31 11:08  guodaxia  阅读(982)  评论(0编辑  收藏  举报