挿入ソート
トランプの手札入れ替えみたいなやつ
1. 先頭の1個は「ソート済み」とみなす(1個だけなら順序は自明)。
2. 次の要素を取り出して key とする。
3. key を、左のソート済み部分の後ろから前へ比較していく。key より大きい要素は1つ右へずらす。
4. key より小さい(か等しい)要素にぶつかった位置、または先頭まで来たら、そこに key を置く。
5. 2〜4 を最後の要素まで繰り返す。全部処理したら完成。
code:text
例:
5, 2, 4, 6, 1, 3
5 | 2, 4, 6, 1, 3
5をソート済みとする
2, 5 | 4, 6, 1, 3
2を挿入(5の前へ)
2, 4, 5 | 6, 1, 3
4を挿入(5の前へ)
2, 4, 5, 6 | 1, 3
6を挿入(そのまま最後尾)
1, 2, 4, 5, 6 | 3
1を挿入(先頭へ)
1, 2, 3, 4, 5, 6
3を挿入 → 完成