Module Stack


module Stack: sig  end
先入れ後出し (Last-in first-out) のスタックです。

このモジュールでは、内部置き換え方式のスタック (LIFOs) が実装されています。



type 'a t
'a の要素を保持するスタックの型です。

exception Empty
Stack.popStack.top に空のスタックを適用した場合発生する例外です。
val create : unit -> 'a t
新しい空のスタックを返します。
val push : 'a -> 'a t -> unit
push x s は、要素 x をスタック s の一番上に追加します。
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 ss のすべての要素に次々と関数 f を適用します。適用順は上から下です。スタック自体は変更されません。