[-1, 1, 3, 4, 9, 6, 2]
# !/user/bin/env python def main(): list = [1, 3, 4, 9, 6, 2, -1] for i in range(len(list) - 1): min = list[i] k = i for j in range((i+1), len(list)): if min > list[j]: min = list[j] k = j tmp = list[i] list[i] = list[k] list[k] = tmp print(list) if __name__ == '__main__': main()
ソート前 : [1, 3, 4, 9, 6, 2, -1]
ソート後 : [-1, 1, 2, 3, 4, 6, 9]
[1, 3, 4, 9, 6, 2, -1]から最小値を選んで先頭から並べていく。
最小値を’ ‘で囲ってます。
[1, 3, 4, 9, 6, 2, ‘-1’] → [‘-1’, 1, 3, 4, 9, 6, 2]
[-1, ‘1’, 3, 4, 9, 6, 2] → [-1, ‘1’, 3, 4, 9, 6, 2]
[-1, 1, 3, 4, 9, 6, ‘2’] → [-1, 1, ‘2’, 3, 4, 9, 6]
…
[-1, 1, 2, 3, 4, 6, 9]
デメリットとして処理速度が遅いです。バブルソートよりは、すこし早いです。