Implémenter une application qui vérifie le 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 afin de s’assurer qu’ils sont dans le bon ordre.
Cet exercice fait partie du cours
Optimiser son code en Java
Instructions
- Itérez sur tous les nombres de
numbers, en utilisanticomme itérateur et en commençant à0. - Itérez à nouveau sur tous les nombres de
numbers, en utilisantj = i + 1, en bouclant surnumbers, et en incrémentanti. - Complétez 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 cet exemple de code.
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 ____;
}
}