2007年1月21日星期日

Haskell版本的快速排序

From
qsort [] = []
qsort (x:xs) = qsort (filter (<>= x) xs)

List comprehesion
qsort [] = []
qsort (x: xs) = (qsort left_xs) ++ [x] ++ (qsort right_xs)
where
left_xs = [y| y <- xs, y <= x]
right_xs = [y| y <- xs, y > x]
是不是很接近数学描述呢,呵呵

没有评论: