キュー


 窓口に並ぶようなイメージのデータ形式で、先に入れたものが最初に取り出されるので先入れ先出し(FIFO: First In First Out)や後入れ後出し(LILO: Last In Last Out)とも呼ばれます。データを入れることをエンキュー、取り出すことをデキューと言います。
 Perlではエンキューはpush、デキューはshiftで実現されています。
my @queue = ();
push @queue, 1;
push @queue, 2;
push @queue, 3;
print shift @queue, "\n";
push @queue, 4;
print shift @queue, "\n";
print shift @queue, "\n";
print shift @queue, "\n";
 上記を実行すると@queueは以下のように変化します。
@queue = ();         # 初期状態
@queue = (1);        # push 1
@queue = (1, 2);     # push 2
@queue = (1, 2, 3);  # push 3
@queue = (2, 3);     # shift
@queue = (2, 3, 4);  # push 4
@queue = (3, 4);     # shift
@queue = (4);        # shift
@queue = ();         # shift

関連項目

push関数
shift関数
スタック