实现一个排序检查器应用
您正在实现一个方法,用于检查一个整数 ArrayList 是否按升序排列。当前实现会比较列表中所有可能的元素对,以确保它们的顺序正确。
本练习是课程的一部分
Java 代码优化
练习说明
- 遍历
numbers中的所有数字,使用i作为迭代变量,从0开始。 - 再次遍历
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 ____;
}
}