1
我想比较例如: 我有一个列表l: [11,2,2,3]
让x = 11, y = 2, z = 2 and t = 3
。 我想比较x to y, z, t
,然后比较y to z, t
,然后z to t.
如果它们是等于,那么将它们放入列表中,否则继续比较列表的其余部分。 这是我迄今为止所做的,但它并没有给我正确的答案。我期待的结果是列表:[y, z] => [2,2]
你能帮我吗?谢谢。递归比较递归列表中的元素
let rec compare_element_list l =
match l with
| [] | [_] -> []
| x :: y :: [] ->
if x = y
then
(*add x and y into a list*)
let result = x :: y :: [] in
result
else
[]
| x :: y :: tl ->
if x = y
then
let result = x :: y :: [] in
result; compare_element_list tl
else
match tl with
| [] -> []
| [z] ->
if x = z then
let result = x :: z :: [] in result
else []
| z :: tl' ->
if x = z
then
let result = x :: z :: [] in
result; compare_element_list tl'
else compare_element_list tl'
很难帮助没有更仔细的问题陈述,对不起。 –