Implementando um verificador de ordenação
Você está implementando um método para verificar se um ArrayList de inteiros está ordenado em ordem crescente. A implementação atual compara todos os possíveis pares de elementos na lista para garantir que estejam na ordem correta.
Este exercicio faz parte do curso
Otimização de Código em Java
Instruções do exercicio
- Percorra todos os números em
numbers, usandoicomo iterador e começando em0. - Percorra todos os números em
numbersnovamente, usandoj = i + 1, iterando pornumberse incrementandoi. - Complete a instrução de retorno para retornar
truequando você não tiver encontrado nenhum par fora de ordem.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
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 ____;
}
}