Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
48
Task/Queue-Usage/Standard-ML/queue-usage-1.ml
Normal file
48
Task/Queue-Usage/Standard-ML/queue-usage-1.ml
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
- open Fifo;
|
||||
opening Fifo
|
||||
datatype 'a fifo = ...
|
||||
exception Dequeue
|
||||
val empty : 'a fifo
|
||||
val isEmpty : 'a fifo -> bool
|
||||
val enqueue : 'a fifo * 'a -> 'a fifo
|
||||
val dequeue : 'a fifo -> 'a fifo * 'a
|
||||
val next : 'a fifo -> ('a * 'a fifo) option
|
||||
val delete : 'a fifo * ('a -> bool) -> 'a fifo
|
||||
val head : 'a fifo -> 'a
|
||||
val peek : 'a fifo -> 'a option
|
||||
val length : 'a fifo -> int
|
||||
val contents : 'a fifo -> 'a list
|
||||
val app : ('a -> unit) -> 'a fifo -> unit
|
||||
val map : ('a -> 'b) -> 'a fifo -> 'b fifo
|
||||
val foldl : ('a * 'b -> 'b) -> 'b -> 'a fifo -> 'b
|
||||
val foldr : ('a * 'b -> 'b) -> 'b -> 'a fifo -> 'b
|
||||
- val q = empty;
|
||||
val q = Q {front=[],rear=[]} : 'a fifo
|
||||
- isEmpty q;
|
||||
val it = true : bool
|
||||
- val q' = enqueue (q, 1);
|
||||
val q' = Q {front=[],rear=[1]} : int fifo
|
||||
- isEmpty q';
|
||||
val it = false : bool
|
||||
- val q'' = List.foldl (fn (x, q) => enqueue (q, x)) q' [2, 3, 4];
|
||||
val q'' = Q {front=[],rear=[4,3,2,1]} : int fifo
|
||||
- peek q'';
|
||||
val it = SOME 1 : int option
|
||||
- length q'';
|
||||
val it = 4 : int
|
||||
- contents q'';
|
||||
val it = [1,2,3,4] : int list
|
||||
- val (q''', v) = dequeue q'';
|
||||
val q''' = Q {front=[2,3,4],rear=[]} : int fifo
|
||||
val v = 1 : int
|
||||
- val (q'''', v') = dequeue q''';
|
||||
val q'''' = Q {front=[3,4],rear=[]} : int fifo
|
||||
val v' = 2 : int
|
||||
- val (q''''', v'') = dequeue q'''';
|
||||
val q''''' = Q {front=[4],rear=[]} : int fifo
|
||||
val v'' = 3 : int
|
||||
- val (q'''''', v''') = dequeue q''''';
|
||||
val q'''''' = Q {front=[],rear=[]} : int fifo
|
||||
val v''' = 4 : int
|
||||
- isEmpty q'''''';
|
||||
val it = true : bool
|
||||
55
Task/Queue-Usage/Standard-ML/queue-usage-2.ml
Normal file
55
Task/Queue-Usage/Standard-ML/queue-usage-2.ml
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
- open Queue;
|
||||
opening Queue
|
||||
type 'a queue
|
||||
exception Dequeue
|
||||
val mkQueue : unit -> 'a queue
|
||||
val clear : 'a queue -> unit
|
||||
val isEmpty : 'a queue -> bool
|
||||
val enqueue : 'a queue * 'a -> unit
|
||||
val dequeue : 'a queue -> 'a
|
||||
val next : 'a queue -> 'a option
|
||||
val delete : 'a queue * ('a -> bool) -> unit
|
||||
val head : 'a queue -> 'a
|
||||
val peek : 'a queue -> 'a option
|
||||
val length : 'a queue -> int
|
||||
val contents : 'a queue -> 'a list
|
||||
val app : ('a -> unit) -> 'a queue -> unit
|
||||
val map : ('a -> 'b) -> 'a queue -> 'b queue
|
||||
val foldl : ('a * 'b -> 'b) -> 'b -> 'a queue -> 'b
|
||||
val foldr : ('a * 'b -> 'b) -> 'b -> 'a queue -> 'b
|
||||
- val q : int queue = mkQueue ();
|
||||
val q = - : int queue
|
||||
- isEmpty q;
|
||||
val it = true : bool
|
||||
- enqueue (q, 1);
|
||||
val it = () : unit
|
||||
- isEmpty q;
|
||||
val it = false : bool
|
||||
- enqueue (q, 2);
|
||||
val it = () : unit
|
||||
- enqueue (q, 3);
|
||||
val it = () : unit
|
||||
- peek q;
|
||||
val it = SOME 1 : int option
|
||||
- length q;
|
||||
val it = 3 : int
|
||||
- contents q;
|
||||
val it = [1,2,3] : int list
|
||||
- dequeue q;
|
||||
val it = 1 : int
|
||||
- dequeue q;
|
||||
val it = 2 : int
|
||||
- peek q;
|
||||
val it = SOME 3 : int option
|
||||
- length q;
|
||||
val it = 1 : int
|
||||
- enqueue (q, 4);
|
||||
val it = () : unit
|
||||
- dequeue q;
|
||||
val it = 3 : int
|
||||
- peek q;
|
||||
val it = SOME 4 : int option
|
||||
- dequeue q;
|
||||
val it = 4 : int
|
||||
- isEmpty q;
|
||||
val it = true : bool
|
||||
Loading…
Add table
Add a link
Reference in a new issue