【发布时间】:2014-03-05 11:22:10
【问题描述】:
我希望用户给出列表的大小,然后在其他函数中使用该列表。类似的东西
divv x = [x..2]
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]
当我在控制台 divv 10 中写入时,我会得到列表 [10..2]
当我写 qsort[1,2,8,5,3,9,0] 时,我会对列表进行排序。
我希望用户只提供一个数字,例如 100,然后调用 qsort (divv 100)。 我该怎么做?
提前致谢
【问题讨论】:
-
divv x = [x,(x-1)..2]为 x == 10 生成 [10,9,8,...2] -
您需要定义一个新函数
fun n = qsort (divv n)。那你就叫它,fun 100。你也可以写(\n -> qsort (divv n)) 100或(\n -> (qsort . divv) n) 100或(qsort . divv) 100。
标签: haskell