我知道当使用ocaml模式匹配时,可以使用h::t
当使用h时,h表示列表中的第一个元素,而t表示列表中的其余元素。是否可以使用这种相同类型的匹配来获取列表中的最后一个元素。因此,t将引用最后一个元素,h将引用列表的其余部分。
一个有用的代码示例是
let rec remove x y = match y with
[] -> x
| h::t -> remove (remove_element x (get_last y)) h
;;
不,没有匹配列表结尾的模式。在OCaml中,它不是一个吸引人的结构,因为它需要线性时间才能找到列表的结尾。OCaml模式匹配应该是快速的。
您可以反转列表并匹配反转列表的开头。这只是一个比查找列表结尾慢的常数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句