如果我们假设从0计数元素,如何反转列表的子列表。我希望解决方案是“手动编码”的。这个任务我遇到了很大的问题。Ocaml中的列表反转
例如:
Function([[1;2;3] ; [2;3] ; [1;2;3] ; [5;6;7]])
回报:
([[3;2;1] ; [2;3] ; [3;2;1] ; [5;6;7]])
我已经创建了一个反向单列表的功能:
let rev =
let rec rev_append acc l =
match l with
[] -> acc
| h::t -> rev_append (h::acc) t in
fun l -> rev_append [] l;;
但现在我卡住了。
可以使用相互递归函数来跳过列表中的其他每个元素,而不是使用'mod'。 – nlucaroni
@nlucaroni是的,你是对的。考虑到Noran是一个新的学习者,我写这种方式只是为了根据问题规范更直接地展示过程。 –
是的,非常感谢。 Greate工作:) –