Question: 2. (30 points) Here is an SML mergesort program: fun merge ([], ys) = ys | merge (xs, []) = xs merge (x::xs, y::ys)
![2. (30 points) Here is an SML mergesort program: fun merge ([],](https://dsd5zvtm8ll6.cloudfront.net/si.experts.images/questions/2024/02/65cb3c6a0b080_08965cb3c69d05b1.jpg)
2. (30 points) Here is an SML mergesort program: fun merge ([], ys) = ys | merge (xs, []) = xs merge (x::xs, y::ys) = if xy then x::merge (xs, y::ys) else y::merge (x::xs, ys) = ([], []) fun split [] 1 split [a] 1 split (a::b::cs) = = ([a], []) let val (M,N) = split cs in end (a: :M, b::N) fun mergesort ( ) = [] | mergesort [a] = [a] mergesort [a,b] = if a
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
