module Stack:LIFO スタックsig
..end
このモジュールでは破壊的変更のできるスタックを実装します。
type 'a
t
'a
型の要素を格納するスタックの型です。exception Empty
val create : unit -> 'a t
val push : 'a -> 'a t -> unit
push x s
はスタック s
の先頭に要素 x
を追加します。val pop : 'a t -> 'a
pop s
はスタック s
の先頭の要素を取り除き、その要素を返します。
スタックが空のときは Empty
例外が発生します。val top : 'a t -> 'a
top s
はスタック s
の先頭の要素を返します。
スタックが空のときは Empty
例外が発生します。val clear : 'a t -> unit
val copy : 'a t -> 'a t
val is_empty : 'a t -> bool
true
を返し、そうでなければ false
を返します。val length : 'a t -> int
val iter : ('a -> unit) -> 'a t -> unit
iter f s
はスタック s
の要素に、先頭の要素からスタックの底の要素に順に f
を適用します。
スタック自体は変更されません。