如果有人有一个将列表拆分为有序减少列表的解决方案,我将非常感激。元素的顺序必须与输入列表相同。 我在Prolog做了一些任务,但这更容易,现在我甚至不知道从哪里开始。 例如 [5,4,2,8,3,1,6,9,5] - > [5,4,2],[8,3,1],[6],[9,5]。
答案 0 :(得分:0)
关于CapelliC answer,您应该可以使用几乎相同的模式匹配来降序。
答案 1 :(得分:0)
'ascending([A], [[A]]).
ascending([A,B|T], R) :-
( A < B -> R = [[A],P|Q] ; P = [M|N], R = [[A,M|N]|Q] ),
ascending([B|T], [P|Q]).'