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); } }