挿入ソート (Insertion-Sort) のアルゴリズムの説明は、シンプルで直感的なソート アルゴリズムです。これは、順序付けされたシーケンスを構築することで機能し、並べ替えられていないデータの場合は、並べ替えられたシーケンス内で後ろから前にスキャンし、対応する位置を見つけて挿入します。
一般的に、挿入ソートは配列に対して in-place を使用して実装されます。具体的なアルゴリズムは次のように説明されます:
最初の要素から開始して、要素はソートされていると見なされます;
取り出し次の要素、並べ替えられた要素シーケンスを後ろから前にスキャンします;
要素 (並べ替えられた) が新しい要素より大きい場合、要素を次の位置に移動します;
並べ替えられた要素が新しい要素以下になる位置が見つかるまで手順 3 を繰り返します。
その位置に新しい要素を挿入します。位置;
手順 2 ~ 5 を繰り返します。
package com.algorithm.tenSortingAlgorithm; import java.util.Arrays; public class InsertionSort { private static void insertionSort(int[] arr) { int preIndex, current; for (int i = 1; i < arr.length; i++) { preIndex = i - 1; current = arr[i]; while (preIndex >= 0 && arr[preIndex] > current) { arr[preIndex + 1] = arr[preIndex]; preIndex--; } arr[preIndex + 1] = current; } } public static void main(String[] args) { int[] arr = {1,28,3,21,11,7,6,18}; insertionSort(arr); System.out.println(Arrays.toString(arr)); } }
以上がJavaで挿入ソートアルゴリズムを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。