Implementacja aplikacji sprawdzającej sortowanie
Implementujesz metodę sprawdzającą, czy ArrayList liczb całkowitych jest posortowana rosnąco. Bieżąca implementacja porównuje każdą możliwą parę elementów na liście, aby upewnić się, że są we właściwej kolejności.
To ćwiczenie jest częścią kursu
Optymalizacja kodu w Javie
Instrukcje do ćwiczenia
- Przejdź przez wszystkie liczby w
numbers, używającijako iteratora i zaczynając od0. - Przejdź ponownie przez wszystkie liczby w
numbers, używającj = i + 1, iterując ponumbersi zwiększająci. - Uzupełnij instrukcję return, aby zwracała
true, gdy nie znaleziono pary w złej kolejności.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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 ____;
}
}