Implementar una aplicación que comprueba el orden
Estás implementando un método para comprobar si un ArrayList de enteros está ordenado de forma ascendente. La implementación actual compara todos los pares posibles de elementos de la lista para asegurarse de que están en el orden correcto.
Este ejercicio forma parte del curso
Optimizing Code in Java
Instrucciones del ejercicio
- Recorre todos los números de
numbers, usandoicomo iterador y empezando en0. - Recorre de nuevo todos los números de
numbers, usandoj = i + 1, iterando pornumberse incrementandoi. - Completa la sentencia de retorno para devolver
truecuando no hayas encontrado ningún par en orden incorrecto.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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 ____;
}
}