Implémenter une application de vérification de tri
Vous implémentez une méthode pour vérifier si un ArrayList d'entiers est trié par ordre croissant. L'implémentation actuelle compare toutes les paires possibles d'éléments de la liste pour s'assurer qu'elles sont dans le bon ordre.
Cette activité fait partie du cours
Optimiser le code en Java
Instructions de l’exercice
- Parcourez tous les nombres dans
numbers, en utilisanticomme itérateur et en commençant à0. - Parcourez de nouveau tous les nombres dans
numbers, en utilisantj = i + 1, en bouclant surnumberset en incrémentanti. - Terminez l'instruction de retour pour retourner
truelorsque vous n'avez trouvé aucune paire dans le mauvais ordre.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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 ____;
}
}