【发布时间】:2016-09-03 01:30:17
【问题描述】:
假设函数的输入是:
[(6,-275),(3,123),(7,1000),(9,-572),(3,333),(1,-23)]
输出应该是:
[(9,-572),(6,-275),(1,-23),(3,123),(3,333),(7,1000)]
这是我要制作的功能:
sortBySnd :: Ord a => [(a,a)] -> [(a,a)]
sortBySnd [] = []
sortBySnd [(_,a),(_,b)]
| a < b = [(_,a),(_,b)]
| a > b = [(_,b),(_,a)]
| a == b = [(_,a),(_,b)]
这当然是非常错误的,但我只是想展示我想要实现的目标。
对于排序函数,可以只使用mergesort或sortBy以外的一些内置排序函数。
【问题讨论】:
-
如果你想变得棘手,你可以:1. 翻转元组,2. 使用排序,3. 再次翻转