我最近开始学习 ocaml 并且无法解决问题。
目标:
给定一个整数列表和一个函数,根据给定函数将整数排序为等价类,作为另一个列表中的列表。等价列表的顺序必须与原始列表中给出的顺序相同。
更新:我决定尝试让它在没有库功能的情况下工作。
到目前为止,这是我的代码。它编译但不运行。任何有关语法的帮助将不胜感激。
let buckets f lst =
let rec helpfunction f lst newlist =
match lst with
| [] ->newlist
| h::t -> match newlist with
| [] -> helpfunction f lst [h]@newlist
| [a]::_ -> if f h a
then helpfunction f t [a::h]@newlist
else helpfunction f t ([a]::[h]@mylist
重要提示:这是一个家庭作业问题,所以我不是在寻找为我粘贴的代码。我试图在我的家中通过它对整体思维过程和语法有所帮助。一旦我得到它的工作,我会努力使它更有效率