Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module type OBSLUGA_KOLEJKI =
- sig
- type 'a tk
- exception Pusta of string
- val tworz_pusta: unit -> 'a tk
- val do_kolejki: 'a * 'a tk -> 'a tk
- val z_kolejki: 'a tk -> 'a tk
- val pierwszy_element: 'a tk -> 'a
- val kolejka_pusta: 'a tk -> bool
- end;;
- module Queue : OBSLUGA_KOLEJKI =
- struct
- type 'a tk = KolejkaPusta | Skladowa of 'a * 'a tk;;
- exception Pusta of string
- let tworz_pusta() = KolejkaPusta
- let do_kolejki (e,q) = Skladowa(e, q)
- let rec z_kolejki = function
- | KolejkaPusta -> raise(Pusta "kolejka jest pusta")
- | Skladowa(e,KolejkaPusta) -> KolejkaPusta
- | Skladowa(e,q) -> Skladowa(e, z_kolejki q)
- let rec pierwszy_element = function
- | KolejkaPusta -> raise(Pusta "kolejka jest pusta")
- | Skladowa(e,KolejkaPusta) -> e
- | Skladowa(e,q) -> pierwszy_element q
- let kolejka_pusta q = KolejkaPusta = q
- end;;
- let q = Queue.do_kolejki(2,Queue.do_kolejki(1,Queue.tworz_pusta()));;
- Queue.pierwszy_element q;;
- Queue.pierwszy_element(Queue.z_kolejki q);;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement