Question: Use ocaml language to Write a module for Queue with functions: i) create ; ii) clear ; iii) increase; iv) enqueue; v) dequeue; and vi)
Use ocaml language to Write a module for Queue with functions: i) create ; ii) clear ; iii) increase; iv) enqueue; v) dequeue; and vi) is_empty
the following example is for Stack ( use same way to write for Queue
# module MyStack =
struct
type a t = { mutable sp : int; mutable c : a array }
exception Empty let create () ={sp=0;c=[||]}
let clear s = s.sp <- 0; s.c <- [||]
let increase s x = s.c <- Array.append s.c (Array.create 5 x)
let push x s =
if s.sp >= Array.length s.c then increase s x;
s.c.(s.sp) <- x; s.sp <- succ s.sp
let pop s = if s.sp =0 then raise Empty else (s.sp <- pred s.sp ; s.c.(s.sp))
let length s = s.sp
let iter f s = for i = pred s.sp downto 0 do f s.c.(i) done
end ;;
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
