始める無料で始める

ソート確認アプリケーションの実装

整数の ArrayList が昇順にソートされているかを確認するメソッドを実装します。現在の実装は、リスト内のあらゆる要素の組み合わせを比較して、正しい順序かどうかを確認しています。

この演習はコースの一部です

Javaコード最適化

コースを見る

演習の手順

  • 反復子として i を使い、0 から開始して、numbers に含まれるすべての数値をループします。
  • 再度 numbers のすべての数値をループし、j = i + 1 を用いて numbers を走査し、i をインクリメントします。
  • 誤った順序のペアが見つからなかった場合に true を返すように、return 文を完成させます。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

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 ____;
    }
}
コードを編集して実行