package ds.sort;
import java.util.Arrays;
import java.util.Scanner;
//在冒泡排序的基础上做了优化,当有序时即可不需要再比较循环
public class BubbleSort {
public static void sort(int[] a){
boolean flag = true;
for(int i=0; i<a.length && flag; i++){
flag = false;//只要flag在下一次外循环条件检测的时候值为false,就说明已经排好序,不用继续循环
for(int j=a.length-1; j>i; j--){
if(a[j] < a[j-1]){
int temp = a[j-1];
a[j-1] = a[j];
a[j] = temp;
flag = true;
}
}
}
System.out.println(Arrays.toString(a));
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数组元素的个数: ");
int n = scanner.nextInt();
int[] a = new int[n];
for(int i=0; i<n; i++){
a[i] = scanner.nextInt();
}
sort(a);
}
}