クイックソート
- 作者: 奥村晴彦,杉浦方紀,津留和生,首藤一幸,土村展之
- 出版社/メーカー: 技術評論社
- 発売日: 2003/05
- メディア: 単行本
- 購入: 2人 クリック: 61回
- この商品を含むブログ (60件) を見る
#!/usr/bin/env python # -*- coding: utf-8 -*- def _sort(list, first, last): x = list[(first + last) / 2] i = first j = last while True: print list while list[i] < x : i += 1 while x < list[j] : j -= 1 if i >= j : break swap = list[i] list[i] = list[j] list[j] = swap i += 1 j -= 1 if first < i -1 : _sort(list, first , i - 1) if j + 1 < last : _sort(list, j + 1 , last) return list def sort(list): return _sort(list, 0, len(list) -1) if __name__ == "__main__": print sort([5,8,2,3,4,1,6,4,0,2])
結果
[5, 8, 2, 3, 4, 1, 6, 4, 0, 2] [2, 8, 2, 3, 4, 1, 6, 4, 0, 5] [2, 0, 2, 3, 4, 1, 6, 4, 8, 5] [2, 0, 2, 3, 4, 1, 6, 4, 8, 5] [2, 0, 2, 3, 4, 1, 6, 4, 8, 5] [1, 0, 2, 3, 4, 2, 6, 4, 8, 5] [1, 0, 2, 3, 4, 2, 6, 4, 8, 5] [0, 1, 2, 3, 4, 2, 6, 4, 8, 5] [0, 1, 2, 3, 4, 2, 6, 4, 8, 5] [0, 1, 2, 3, 2, 4, 6, 4, 8, 5] [0, 1, 2, 3, 2, 4, 6, 4, 8, 5] [0, 1, 2, 2, 3, 4, 6, 4, 8, 5] [0, 1, 2, 2, 3, 4, 6, 4, 8, 5] [0, 1, 2, 2, 3, 4, 4, 6, 8, 5] [0, 1, 2, 2, 3, 4, 4, 6, 8, 5] [0, 1, 2, 2, 3, 4, 4, 6, 5, 8] [0, 1, 2, 2, 3, 4, 4, 6, 5, 8] [0, 1, 2, 2, 3, 4, 4, 5, 6, 8] [0, 1, 2, 2, 3, 4, 4, 5, 6, 8]
あとで書くかも