Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write an F# function interleave l1 l2 (defined below with examples) that interle

ID: 3882363 • Letter: W

Question

Write an F# function interleave l1 l2 (defined below with examples) that interleaves two lists of arbitrary size:

> interleave [1..3] [4..6];;

val it : int list = [1; 4; 2; 5; 3; 6]

> interleave [1..10] [3..5];;

val it : int list = [1; 3; 2; 4; 3; 5; 4; 5; 6; 7; 8; 9; 10]

> interleave [3..5] [1..10];;

val it : int list = [3; 1; 4; 2; 5; 3; 4; 5; 6; 7; 8; 9; 10]

> interleave ["cat"; "dog"; "elephant"; "lion"] ["tiger"; "rat"];;

val it : string list = ["cat"; "tiger"; "dog"; "rat"; "elephant"; "lion"]

Explanation / Answer

let rec interleave = function | (xs, []) -> [] | ([], ys) -> [] | (x::xs, y::ys)-> x::y::interleave( xs, ys)

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote