實作排序檢查器應用程式
你要實作一個方法,用來檢查整數的 ArrayList 是否為遞增排序。現有的實作會比較清單中所有可能的元素配對,以確保它們的順序正確。
本練習屬於課程
Java 程式碼最佳化
練習說明
- 以
i作為迭代器,從0開始,走訪numbers中的所有數字。 - 再次走訪
numbers中的所有數字,使用j = i + 1,在numbers上迴圈,並讓i遞增。 - 完成 return 陳述式:當沒有找到順序錯誤的成對元素時,回傳
true。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
public class Main {
public static void main(String[] args) {
int arraySize = 1000;
ArrayList unsortedNumbers = new ArrayList<>();
for (int i = 0; i < arraySize; i++) {
unsortedNumbers.add(i);
}
int temp = unsortedNumbers.get(arraySize - 1);
unsortedNumbers.set(arraySize - 1, unsortedNumbers.get(arraySize - 2));
unsortedNumbers.set(arraySize - 2, temp);
SortChecker checker = new SortChecker();
boolean result = checker.isSorted(unsortedNumbers);
System.out.println("Unsorted array result: " + result);
}
}
class SortChecker {
public boolean isSorted(ArrayList numbers) {
// Iterate through all the numbers
for (int i = ____; i < numbers.size(); ____) {
// Iterate through all the numbers again
for (int j = ____; j < numbers.size(); ____) {
if (numbers.get(i) > numbers.get(j)) {
return false;
}
}
}
// Return if we have not returned false so far
return ____;
}
}