小编use*_*228的帖子

将自定义排序应用于列表(以对列表列表进行排序)

这里有一个如何使用自定义排序对列表进行排序的示例:http: //zvon.org/other/haskell/Outputlist/sortBy_f.html

xxx a b  | odd a = LT
         | otherwise = GT

Input: sortBy xxx [1,2,3,4,5,6,7] 

Output: [1,3,5,7,6,4,2]
Run Code Online (Sandbox Code Playgroud)

标准小于订单让我比较列表,例如

[1,2,3] < [0,4,5]
Run Code Online (Sandbox Code Playgroud)

是假的.但这不适用于上面的示例函数:

Main> xxx [1,2,6] [1,7,3]
ERROR - Cannot infer instance
*** Instance   : Integral [a]
*** Expression : xxx [1,2,6] [1,7,3]
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法将这样的订单扩展到列表?

我想要这个功能的原因是使用sortBy使用我的自定义排序对列表列表进行排序.

我要感谢示例解决方案代码,有关阅读内容的建议或介于两者之间的任何内容.我希望有一些内置的方法可以用语言来完成这个,而不是编写一个直接比较列表的函数.

sorting haskell list

4
推荐指数
1
解决办法
2213
查看次数

标签 统计

haskell ×1

list ×1

sorting ×1