目次
- 整列(ソート)について
- バブルソート
- 選択ソート
- 挿入ソート
- マージソート
- クイックソート
- まとめ
整列(ソート)について
ソート(sort)とは、配列の要素の順序をそろえること
昇順
配列の先頭から末尾に向かって、データの値が大きくなるようにそろえること
降順
配列の先頭から末尾に向かって、データの値が小さくなるようにそろえること
バブルソート
配列の末尾から先頭に向かって隣同士の要素を比較し、小さい方が前になるように交換する
【手順1】1番小さいカードを確定させる
【手順2】2番目に小さいカードを確定させる
【手順3】3番目小さいカードを確定させる
選択ソート
配列の先頭から末尾に向かって要素の値をチェックして最小値を選択し、それを先頭の要素と交換する
【手順1】1番小さいカードを確定させる
【手順2】2番目に小さいカードを確定させる
【手順3】3番目小さいカードを確定させる
挿入ソート
【手順1】2番目のカードを挿入する
【手順2】3番目のカードを挿入する
【手順3】4番目のカードを挿入する
マージソート
要素数が1個になるまで分割し、分割した配列から要素を小さい順に取り出して結合する
【手順1】配列を2分割する
【手順2】分割した配列をさらに2分割する
【手順3】要素数が1個になったら結合する
小さい方から順番に取り出して結合する
【手順4】ソート済みの2つの配列を結合する
クイックソート
配列の中から基準値を1つ選び、残りの要素を基準値との大小でグループ分けする
【手順1】カード全体から任意の1枚を取り出して基準のカードにする
【手順2】残りのカードを1枚ずつ取り出し、基準のカードより小さければ左側に、大きければ右側に積み上げる
【手順3】より小さいカードで、手順1・手順2と同じ処理を行う
【手順4】より大きいカードで、手順1・手順2と同じ処理を行う
まとめ
バブルソート
配列の末尾から先頭に向かって隣同士の要素を比較し、小さい方が前になるように交換する
選択ソート
配列の先頭から末尾に向かって要素の値をチェックして最小値を選択し、それを先頭の要素と交換する
挿入ソート
配列の先頭から末尾に向かって要素を1つずつ取り出し、それより前の部分の適切な位置に挿入する
マージソート
要素数が1個になるまで分割し、分割した配列から要素を小さい順に取り出して結合する
クイックソート
配列の中から基準値を1つ選び、残りの要素を基準値との大小でグループ分けする