如何按SICStus Prolog中的键和值排序?

时间:2013-05-19 11:32:25

标签: sorting prolog

我有一个像

这样的清单
L = [0-4, 0-3, 3-5, 1-2]

我希望按键和值对列表进行排序,结果将是

L = [0-3, 0-4, 1-2, 3-5]

我找到了keysort,但它只按键排序。我可以自己编写,但我需要一个有效的解决方案。

1 个答案:

答案 0 :(得分:1)

调用sort / 2(如果你想保留重复,则调用msort / 2)

?- sort([0-4, 0-3, 3-5, 1-2], S).
S = [0-3, 0-4, 1-2, 3-5].