一、初始代碼
int arr[] = {3,9,-1,10,-2};
int temp = 0;
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length -1 - i; j++) {
if(arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
System.out.println("第"+ (i + 1) +"趟排序後的數組:");
System.out.println(Arrays.toString(arr));
}
二、優化
int temp = 0;
boolean flag = false;
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length -1 - i; j++) {
if(arr[j] > arr[j + 1]) {
flag = true;
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
System.out.println("第"+ (i + 1) +"趟排序後的數組:");
System.out.println(Arrays.toString(arr));
if(!flag) {
break;
}else {
flag = false;
}
}