直接挿入ソートとは、すべての要素が挿入されるまで、ソート対象の要素を、以前にソートされた順序のシーケンスに 1 つずつ挿入することを指します。
1) まず、最初の要素がソートされていると仮定します。
2) 次に、ソートが必要な次の要素、つまりソートされた要素の次の要素を取り出し、その次の要素を取り出して挿入する要素として設定し、ソートされた要素を後ろから前にスキャンします。要素シーケンス (ソートされた) 要素が挿入される要素より大きい場合、要素を次の位置に移動します。
3) 並べ替えられた要素が並べ替え対象の要素以下になる位置が見つかるまで手順 2 を繰り返し、その要素を挿入します。
4) 手順 2 と 3 を繰り返して並べ替えを完了します。
例えば:
importjava.util.Arrays;publicclassMain{publicstaticvoidmain(Stringargs[]){int[]arr=newint[]{17,62,39,52,8,24};for(inti=1;i<arr.length;i++ ){//2 番目の要素から比較を開始します inttemp=arr[i];//現在の要素を記録します for(intj=i-1;j>=0;j--){//最後の要素から比較を開始しますelement if (arr[j]>temp){//現在の要素より大きい場合 arr[j+1]=arr[j];//ここからすべての要素を 1 つ前に移動します arr[j]=temp; / /現在の要素を arr[j] に挿入します。}}for(inti=0;i<arr.length;i++){System.out.print(arr[i]+);}}}
実行結果は次のとおりです。
81724395262