- リスト内の要素を順番に比較します。
- 最小値を見つけます。
- 最小値をソート済みの部分の末尾に配置します。
- 未ソートの部分から次の最小値を見つけ、ソート済みの部分の末尾に配置します。
- 未ソートの部分がなくなるまで、手順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
に格納され、出力されます。
選択ソートは、要素数が多いリストに対しては効率が悪いアルゴリズムですが、実装がシンプルであるため、理解しやすく初学者にも適しています。より効率的なソートアルゴリズムも存在しますが、選択ソートを学ぶことで基本的なソート手法の考え方を理解することができます。
以上が、選択ソートアルゴリズムの解説とコード例です。この手法を使ってリストの要素をソートする際には、ぜひ参考にしてみてください。