java 冒泡排序
只要有一轮没有发生交换,说明数据的顺序已经排好,没有必要继续进行循环下去了。
public class BubbleDemo { public static void main(String[] args) { int[] arr = {1,3,5,7,9,2,4,6,8,0}; sort(arr); for (int i: arr) { System.out.print(i+","); } } public static void swap(int[] arr, int x, int y){ int temp = arr[x]; arr[x] = arr[y]; arr[y] = temp; } public static void sort(int[] arr){ boolean flag; for (int i = 0; i < arr.length-1; i++) { flag = false; for (int j = 0; j < arr.length-1-i; j++) { if (arr[j] > arr[j+1]){ flag = true; swap(arr,j,j+1); } } if (!flag){ break; } } } }

浙公网安备 33010602011771号