Filter :: (Ord a) => [a] -> [a]
Filter [X:XS] = [[c|c<X, c<-XS ] ++ [X] ++ [c| c >X , c<-XS ]]
quickSort :: Ord a => [a] -> [a]
quickSort [] = []
quickSort [x:xs] = quickSort mini ++ [x] + quickSort maxi
where
mini = filter xs
maxi = filter xs
具有列表理解的“过滤器”功能是否正确?我知道 Haskell-Libraries 中有一个内置函数“过滤器”。但是我尝试自己编写代码...