Kom igångKom igång gratis

Implementera en sorteringskontroll

Du ska implementera en metod som kontrollerar om en ArrayList med heltal är sorterad i stigande ordning. Den nuvarande implementationen jämför alla möjliga par av element i listan för att säkerställa att de är i rätt ordning.

Den här övningen är en del av kursen

Optimera kod i Java

Visa kurs

Övningsinstruktioner

  • Iterera igenom alla tal i numbers med i som iterator och börja vid 0.
  • Iterera igenom alla tal i numbers igen med j = i + 1, loopa igenom numbers och öka i.
  • Slutför return-satsen så att den returnerar true när du inte har hittat något par i fel ordning.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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 ____;
    }
}
Redigera och kör kod