Head head 2 q tail loop v 1 next no

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: )! no CIS120 / Spring 2012 33 Stack length Evalua@ng length q Workspace ( Heap fun (q:'a queue) ->! let rec loop (no:…) : int =! …! in! loop q.head ! )! head! 0! q tail! loop v! ( )! 1! next! no n POP! 1+( )! no v! next! 2! None! fun (no: …) ->! begin match no with! | None -> 0! | Some n -> 1 + (loop n.next)! end! n 1+( )! no CIS120 / Spring 2012 34 Stack length Evalua@ng length q Workspace ( Heap fun (q:'a queue) ->! let rec loop (no:…) : int =! …! in! loop q.head ! )! head! 1 + 0! q tail! loop v! ( )! 1! next! no n 1+( )! no v! next! 2! None! fun (no: …) ->! begin match no with! | None -> 0! | Some n -> 1 + (loop n.next)! end! n CIS120 / Spring 2012 35 Stack length Evalua@ng length q Workspace ( Heap fun (q:'a queue) ->! let rec loop (no:…) : int =! …! in! loop q.head ! )! head! 1! q tail! loop v! ( )! 1! next! no n POP! CIS120 / Sprin...
View Full Document

Ask a homework question - tutors are online