代码
public class BubbleSort {
public static void main(String[] args) {
int[] a = {3,6,4,2,11,10,5};
int k= a.length-1;
for (int i = 0; i < a.length; i++) {
int flag=0;//标识符
int n=0;//记录第二层循环最后一次交换的位置
for (int j = 0; j<k; j++) {
if (a[j] > a[j + 1]) {
int temp;
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
flag = 1;
n=j;
}
}
if(flag==0) break;
k=n;
}
for (int i : a) {
System.out.println(i);
}
}
}
排序过程
减少内部循环比较次数
补充:想要更高效的冒泡排序可以搜索鸡尾酒排序。