我想知道如何编写一个函数,将给定列表分成子列表并在给定点交换这些子列表,最后返回一个结果列表。
例如:
我猜想我开发的代码是正确的吗?
例如:
swap([1;3;5;6],2) => [5;6;1;3]
我猜想我开发的代码是正确的吗?
let rec swap (l,n) =
let rec loop t (count,laux) =
match t with
| h::t when count < n -> loop t (count+1, h::laux)
| h::t -> h::t@ List.rev laux
| []->[]
in
loop l (0,[])
;;