【发布时间】:2021-09-04 13:53:40
【问题描述】:
我是 Haskell 的新手。我可以修复这个递归函数对数组中的所有整数进行排序吗?如果是,代码应该如何?
isort [] = []
isort [x] = [x]
isort (x:y:xs) = if x <= y then
x:isort (y:xs)
else
y:isort (x:xs)
在当前函数中输入
isort [4,3,2,1]
现在作为输出给出
[3,2,1,4]
但应该是的
[1,2,3,4]
【问题讨论】:
-
您在这里将前两项中最小的一项作为第一个元素。但并不是说这是整个列表中最小的列表。
-
在 Data.List 模块中,您对列表有几个操作,其中之一是 sort 。 hackage.haskell.org/package/base-4.15.0.0/docs/…
标签: list sorting haskell functional-programming