スタックとは?すたっく
スタックとは、最後に入れたものを最初に取り出す後入れ先出しのデータ構造で、pushで積みpopで取り出す。プログラムでは関数呼出し時の戻り番地や局所変数の退避に使われ、通信でもヘッダやラベルを重ねて付け外しする場面で同じ構造が現れる。
最終更新:2026-10-06
ネットワークSPを最短で暗記・合格する →背景
入れ子になった処理は、外側へ戻るときに内側と逆の順序で後始末しなければ辻褄が合わない。この「逆順で戻る」をそのまま表せるのが後入れ先出しで、だから関数の呼出しにもカプセル化にも使われる。パケットが層を降りながらヘッダを積み、受信側で逆順に外していく流れは、まさにこの構造をなぞっている。
具体例
MPLSでは経路の途中でラベルをpushして重ね、出口の手前でpopして外す。積んだ順と逆から外れるので、最後に付けたラベルが最初に参照される。VLANタグを二重に付ける構成も同じ形で、外側のタグから順に処理される。
試験での引っ掛け
n個の要素をスタック経由で出力するときに作れる順序の総数はカタラン数になり、n!ではない。取り出しの順序は自由ではなく、まだ積んでいないものは取り出せないという制約が効く。深さにも限りがあり、再帰が深くなりすぎると積みきれずに破綻する。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。