Module Stack


module Stack: sig .. end
LIFO スタック

このモジュールでは破壊的変更のできるスタックを実装します。


type 'a t 
'a 型の要素を格納するスタックの型です。
exception Empty
Stack.popStack.top を空のスタックに適用したときに発生する例外です。
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 を適用します。 スタック自体は変更されません。