以下都是个人见解,欢迎探讨! 运行结果:
此篇博文只是解释一下Java里面冒泡排序的步骤,为什么这么写,相信大家已经在众多博文中知道了冒泡排序的原理等知识,这里就不介绍了。 //冒泡排序 int[] arr = {1,3,5,7,9,10,8,6,4,2,0};//11位 int temp = 0;//用来中转数值 //从小到大排序 for (int i = 0; i < arr.length-1; i++) { /* * 为什么是arr.length-1 * 是因为每次循环就是把最大值放到最后一位, * 第一次就是把第一大的数(10)放到第11位, * 第二次就是把第二大的数(9)放到第10位, * ........ * 第十次就是把第十大的数(1)放到了第2位, * 那么第十一大(0)的数就自然在第1位了,没必要进行下一次了 */ for (int j = 0; j < arr.length-i-1; j++) { /* * 为什么是arr.length-i-1, * arr.length-i: * 因为第i次遍历就会把第i大的数放到倒数第i个位置了, * 如:第一次(i=0)就把10放到倒数第一个(第11)个位置, * 那么我们就没必要去比较这个位置及后面的数了 * -1: * 是为了让j+1不越界 * */ if (arr[j] > arr[j+1]){ //相邻比较,如果左边比右边大,交换位置 temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } System.out.println("第i="+i+"次之后的数组:"+ Arrays.toString(arr)); }
第i=0次之后的数组:[1, 3, 5, 7, 9, 8, 6, 4, 2, 0, 10]
第i=1次之后的数组:[1, 3, 5, 7, 8, 6, 4, 2, 0, 9, 10]
第i=2次之后的数组:[1, 3, 5, 7, 6, 4, 2, 0, 8, 9, 10]
第i=3次之后的数组:[1, 3, 5, 6, 4, 2, 0, 7, 8, 9, 10]
第i=4次之后的数组:[1, 3, 5, 4, 2, 0, 6, 7, 8, 9, 10]
第i=5次之后的数组:[1, 3, 4, 2, 0, 5, 6, 7, 8, 9, 10]
第i=6次之后的数组:[1, 3, 2, 0, 4, 5, 6, 7, 8, 9, 10]
第i=7次之后的数组:[1, 2, 0, 3, 4, 5, 6, 7, 8, 9, 10]
第i=8次之后的数组:[1, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10]
第i=9次之后的数组:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算