or1ko's diary

日々を書きます

Quick Sort

"あなたが一番好きなアルゴリズムを教えてください。"なる人力はてなの質問があったけれど、
haskellのQuick Sortに感動したのを思い出した。下の奴。

quicksort :: (Ord a) => [a] -> [a]
quicksort []     = []
quicksort (x:xs) = quicksort [y | y <- xs, y < x ]
                 ++ [x]
                 ++ quicksort [y | y <- xs, y >= x ]

ひと目でQuick Sortのアルゴリズムが解るところが素敵です♪
アルゴリズムではないですけどね。