queue-sig.sml
来自「这是我们参加06年全国开源软件的竞赛作品」· SML 代码 · 共 37 行
SML
37 行
(* queue-sig.sml * * COPYRIGHT (c) 1993 by AT&T Bell Laboratories. See COPYRIGHT file for details. * * Imperative fifos * *)signature QUEUE = sig type 'a queue exception Dequeue val mkQueue : unit -> 'a queue (* make a new queue *) val clear : 'a queue -> unit (* remove all elements *) val isEmpty : 'a queue -> bool (* test for empty queue *) val enqueue : 'a queue * 'a -> unit (* enqueue an element at the rear *) val dequeue : 'a queue -> 'a (* remove the front element (raise Dequeue if empty) *) val delete : ('a queue * ('a -> bool)) -> unit (* delete all elements satisfying the given predicate *) 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 end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?