スタック


 データを積み上げるように保存するデータ形式で、先に入れたものが後に取り出されるので先入れ後出し(FILO: First In Last Out)や後入れ先出し(LIFO: Last In First Out)とも呼ばれます。データを入れることをプッシュ、取り出すことをポップと言います。
 Perlではプッシュはpush、ポップはpopで実現されています。
my @stack = ();
push @stack, 1;
push @stack, 2;
push @stack, 3;
print pop @stack, "\n";
push @stack, 4;
print pop @stack, "\n";
print pop @stack, "\n";
print pop @stack, "\n";
 上記を実行すると@stackは以下のように変化します。
@stack = ();         # 初期状態
@stack = (1);        # push 1
@stack = (1, 2);     # push 2
@stack = (1, 2, 3);  # push 3
@stack = (1, 2);     # pop
@stack = (1, 2, 4);  # push 4
@stack = (1, 2);     # pop
@stack = (1);        # pop
@stack = ();         # pop

関連項目

pop関数
push関数
キュー