package bubble;
import java.util.Arrays;
//冒泡排序,稳定的排序算法,把最大或者最小的数逐渐向右或向左移动
public class Test1 {
public static void main(String[] args) {
int[] numbers= {1,2,3,4,5,6,7,8,4,3,2,2};
for (int i = 0; i <numbers.length ; i++) {
// 提前退出冒泡循环的标志位
boolean flag = false;
for (int j =0 ; j <numbers.length-1-i ; j++) {//这里-i是因为i代表已经排序好的,不用再遍历
if (numbers[j+1]>numbers[j]){
int temp=numbers[j+1];
numbers[j+1]=numbers[j];
numbers[j]=temp;
flag = true; // 表示有数据交换
}
}
if (!flag){//没有数据交换,代表已经有序,无须再遍历
break;
}
}
System.out.println(Arrays.toString(numbers));
}
}