Kuzunoha-NEのブログ

プログラミングなどの勉強をしてます

Pythonで選択ソートアルゴリズムを作ろうの巻

Pythonで選択ソートアルゴリズムを作ろうの巻

こんにちは、葛の葉です。 今回は選択ソートについて、書いていきます。

選択ソートアルゴリズム

選択ソートについては以下を参照

選択ソート - Wikipedia

作ったの

def selection_sort(arrs):
    for i in range(len(arrs)):  # (1)
        min_num = min(arrs[i::])   # (2)
        j = arrs.index(min_num)
        (arrs[i], arrs[j]) = (arrs[j], arrs[i])  # (3)
    return arrs


test = [1, 2, 5, 8, 6, 7, 3, 4, 9]

print(selection_sort(test))

(1) … i はindexになりますね。

(2) … min(arrs[i::])arrs[i::][i::]iのindexから最後の要素までという意味になります。i~最後の要素までで一番小さいもののindexを取得します。

(3) … (arrs[i], arrs[j]) = (arrs[j], arrs[i]) は変数の交換ですね。Pythonらしい書き方になります。

追伸

アルゴリズム…これってダメなんかな…