给定一个数组,做排序,从最左边开始和它相邻的数比较,如果左边比右边大,交换位置,一直到n;从最左边开始和它相邻的数比较,如果左边比右边大,交换位置,一直到n-1,以此类推,直到下标为0。
题解
public static void bubbleSort(int[] arr) { // 边界处理 if(arr == null || arr.length < 2){ return; } int n = arr.length; for (int i = n-1; i >= 0 ; i--) { for(int j = 1; j <= i; j++){ if(arr[j] < arr[j-1]){ swap(arr, j-1, j); } } } } // 交换处理 public static void swap(int[] arr, int i, int j){ int tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp; }
浙公网安备 33010602011771号