【发布时间】:2018-02-27 11:28:19
【问题描述】:
当谈到 Haskell 时,我是一个新手,我对一些事情感到困惑。我正在尝试删除此函数列表中的重复元素:
qsort :: [Int] -> [Int]
qsort [] = []
qsort (x:xs) =
qsort smaller ++ [x] ++ qsort larger
where
smaller = [a | a <- xs, a <= x]
larger = [b | b <- xs, b > x]
我尝试通过导入 Data.List 并使用 nub [] 函数来做到这一点:
qsort :: [Int] -> [Int]
qsort [] = nub[]
但是,如果我执行 qsort [2, 6, 3, 3],它仍然返回 [2, 3, 3, 6]。
是我使用了 nub 函数错误还是我遗漏了什么?
谢谢
【问题讨论】:
-
你为什么在
qsort [] = nub []中写[]?
标签: list function haskell element ghci