Implementare un'applicazione che verifica l'ordinamento
Stai implementando un metodo per verificare se un ArrayList di interi è ordinato in modo crescente. L'implementazione attuale confronta ogni possibile coppia di elementi nella lista per assicurarsi che siano nell'ordine corretto.
Questo esercizio fa parte del corso
Ottimizzazione del codice in Java
Istruzioni dell'esercizio
- Itera su tutti i numeri in
numbers, usandoicome iteratore e partendo da0. - Itera di nuovo su tutti i numeri in
numbers, usandoj = i + 1, ciclano sunumberse incrementandoi. - Completa l'istruzione di return per restituire
truequando non hai trovato una coppia in ordine sbagliato.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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 ____;
}
}