ホームページ >Java >&#&チュートリアル >Javaは挿入ソートアルゴリズムを記述して結果を出力します
挿入ソートの Java 実装のサンプル コードと実行結果
挿入ソートは、実際のアプリケーションで広く使用されている、シンプルで一般的に使用される並べ替えアルゴリズムです。この記事では、Java 言語を使用して挿入ソートを実装する方法を紹介し、対応するコード例と実行結果を示します。
挿入ソートの基本的な考え方は、ソートされる配列をソート済み部分とソートされていない部分の 2 つの部分に分割することです。最初はソート済み部分には 1 つの要素しかなく、その後、ソートされていない部分の要素が挿入されます。すべての要素が挿入されるまで、ソートされた部分の適切な位置に挿入されます。
次は、Java で挿入ソートを実装するためのサンプル コードです。
public class InsertionSort { public static void insertionSort(int[] arr) { int n = arr.length; for (int i = 1; i < n; i++) { int key = arr[i]; int j = i - 1; while (j >= 0 && arr[j] > key) { arr[j + 1] = arr[j]; j -= 1; } arr[j + 1] = key; } } public static void main(String[] args) { int[] arr = {5, 2, 10, 8, 3}; System.out.println("排序前:"); printArray(arr); insertionSort(arr); System.out.println("排序后:"); printArray(arr); } public static void printArray(int[] arr) { int n = arr.length; for (int i = 0; i < n; i++) { System.out.print(arr[i] + " "); } System.out.println(); } }
コード内の insertionSort
メソッドは、挿入ソート アルゴリズムを実装します。外側のループを使用して、未ソート部分の各要素を反復処理し、ソート済み部分の適切な位置に要素を挿入します。内側のループは、並べ替えられた部分で適切な挿入位置を検索し、現在の要素より大きい要素を元に移動します。
main
メソッドでは、整数配列 arr
を定義し、順序付けられていない要素のセットを初期化します。まず、ソート前の配列が出力され、次に insertionSort
メソッドが呼び出されてソートされ、最後にソートされた配列が出力されます。
実行結果は次のとおりです。
排序前: 5 2 10 8 3 排序后: 2 3 5 8 10
挿入ソート アルゴリズムによる処理後、元の順序なし配列が小さい順から大きい順に正常にソートされたことがわかります。
挿入ソートの時間計算量は O(n^2) であり、小規模なデータ セットを処理する場合のパフォーマンスが向上します。ただし、大規模なデータ セットの場合、挿入ソートのパフォーマンスは大幅に低下し、他の効率的なソート アルゴリズムほど良くはありません。したがって、実際の開発では、状況に応じて適切なソートアルゴリズムを選択する必要があります。
以上がJavaは挿入ソートアルゴリズムを記述して結果を出力しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。