8.6.2 代码块:排序算法
static void bubbleSort(int[] arr,boolean sequence){
//冒泡排序arr数组,sequence为true时,为升序排序;sequence为false时,为降序排序
for(int i = 0;i < arr.length;i++){
for(int j = 0;j < arr.length - i - 1;j++){
if(sequence && arr[j] > arr[j + 1] ||
!sequence && arr[j] < arr[j + 1]){
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
System.out.println("第"+(i + 1)+"轮:");
printArray(arr);
}
System.out.println("排序后");
printArray(arr);
}
static void selectSort(int[] arr,boolean sequence){
//选择排序arr数组,sequence为true时,为升序排序;sequence为false时,为降序排序
for(int i = 0;i <arr.length - 1;i++){
int min = i;
for(int j = i + 1;j <arr.length;j++){
if(sequence && arr[j] < arr[min] ||
!sequence && arr[j] > arr[min]){
min = j;
}
}
if(min != i){
int temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
}
printArray(arr);
}