冒泡排序
int[] arr = {6,3,8,2,9,1}; System.out.println("排序前数组为:"); for (int num:arr){ System.out.println(num+""); } for (int i = 0;i<arr.length-1;i++){//外层循环控制排序趟数,最多循环array.length-1次 for (int j = 0;j<arr.length-1-i;j++){//内层循环控制每一趟排序多少次,每趟最多比较arr.leng-1-i次 if (arr[j]<arr[j+1]){ int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } System.out.println("----------"); System.out.println("排序后的数组为:"); for (int num:arr){ System.out.println(num+""); }
结果为:9 8 6 3 2 1
选择排序
//选择排序 main中 int[] noSortArray = {6,3,8,2,9,1}; selectSort(noSortArray); for (int num : noSortArray){ System.out.println(num); }
//选择排序 public static void selectSort(int[] number){ int size = number.length; int temp = 0; for (int i = 0 ; i<size-1 ; i++){ int k = i; for (int j = i+1 ; j<=size-1; j++){ if (number[j]<number[k]){ k = j; } } //交换两个数 temp = number[i]; number[i] = number[k]; number[k] = temp; } }
结果:123689