0
我想按字典顺序对Haskell列表中的元素进行排序,是否有任何方法?如何按字典顺序对列表进行排序?
排序前:
[ [], [1,2], [1], [1,2,3], [2], [1,3], [2,3], [3]]
后排序:
[ [], [1], [1,2], [1,2,3], [1,3], [2], [2,3], [3]]
我想按字典顺序对Haskell列表中的元素进行排序,是否有任何方法?如何按字典顺序对列表进行排序?
排序前:
[ [], [1,2], [1], [1,2,3], [2], [1,3], [2,3], [3]]
后排序:
[ [], [1], [1,2], [1,2,3], [1,3], [2], [2,3], [3]]
的default Ord
实例列表实际上这样工作:
Prelude> import Data.List
Prelude Data.List> sort [ [], [1,2], [1], [1,2,3], [2], [1,3], [2,3], [3]]
[[],[1],[1,2],[1,2,3],[1,3],[2],[2,3],[3]]
您是否尝试过只用'sort'? –
我讨厌听起来很粗鲁,但是没有发现只是搜索“Haskell排序列表”之类的东西? –
最直接的方法:只需定义函数 lex_compare :: String - > String - > Ordering 它根据所需的顺序比较两个列表,然后使用sortBy函数。 – user3974391