标签:
冒泡排序是最简单的一种排序方法。冒泡排序法通过两层循环实现,外层循环用于控制比较次数(循环数组的长度-1次,因为最后一次循环只剩下一个元素);内层循环用于在其中比较每两个相邻的元素,并进行交换(如果需要)。算法的基本思路是每一次内层循环中一次比较相邻两个数的大小,如果前者大于后者则将两数进行交换。
可以设置一个标志变量,用于标记在一次比较中(一次外层循环中)是否有数据交换,如果没有,说明排序已完成,这时就可以跳出循环,这样就可以减少循环次数,增加程序执行效率。具体代码如下:
package main_package; import java.util.Arrays; public class sort { public static void main(String[] args) { int[]b=new int[]{4,25,10,95,06,21,92,11}; boolean isChange=false;//标记是否有交换发生 int i=1; for(;i<b.length;i++)//i表示排序次数 { for(int j=0;j<b.length-i;j++) { //交换 if(b[j]>b[j+1]) { int temp; temp=b[j]; b[j]=b[j+1]; b[j+1]=temp; isChange=true; } } if(isChange==false) { break; } isChange=false; } System.out.println("冒泡排序结果为:"); for(int x:b) { System.out.print(x+" "); } System.out.println("\n排序次数为:"+i); } }
标签:
原文地址:http://www.cnblogs.com/qingergege/p/5689390.html