そういやPythonでバブルソートって書いたことなかったかも、って思ったので書いてみた。
(バブルソート:wikipedia)
「バブルソートは後ろからだろ」って言われちゃうと仰るとおりですって感じなんですけど、まあ値総当りで並べ替えてるので良しとしていただけるとありがたい。
もうちょっとスマートになるように書き直すかなぁ。
# -*- encoding: utf-8 -*- def main(): _l = [7, 6, 3, 1, 2, 5, 8, 4, 0, 9] _r = [] for i, v in enumerate(_l): if len(_r) == 0: _r.append(v) continue for ii, vv in enumerate(_r): if v < vv: _r.insert(ii, v) break if not v in _r: _r.append(v) print(_r) if __name__ == '__main__': main()
結果はこちら
> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]