選択ソートアルゴリズム:シンプルで効果的なソート手法


  1. リスト内の要素を順番に比較します。
  2. 最小値を見つけます。
  3. 最小値をソート済みの部分の末尾に配置します。
  4. 未ソートの部分から次の最小値を見つけ、ソート済みの部分の末尾に配置します。
  5. 未ソートの部分がなくなるまで、手順3と手順4を繰り返します。

以下に、Pythonでの選択ソートの実装例を示します。

def selection_sort(arr):
    n = len(arr)
    for i in range(n-1):
        min_idx = i
        for j in range(i+1, n):
            if arr[j] < arr[min_idx]:
                min_idx = j
        arr[i], arr[min_idx] = arr[min_idx], arr[i]
    return arr
# 使用例
my_list = [5, 2, 8, 1, 9]
sorted_list = selection_sort(my_list)
print(sorted_list)

このコードでは、選択ソート関数selection_sortを定義し、与えられたリストarrをソートします。ソート後の結果はsorted_listに格納され、出力されます。

選択ソートは、要素数が多いリストに対しては効率が悪いアルゴリズムですが、実装がシンプルであるため、理解しやすく初学者にも適しています。より効率的なソートアルゴリズムも存在しますが、選択ソートを学ぶことで基本的なソート手法の考え方を理解することができます。

以上が、選択ソートアルゴリズムの解説とコード例です。この手法を使ってリストの要素をソートする際には、ぜひ参考にしてみてください。