【ライフォ】
LIFO(後入先出) とは?
最終更新:
💡 積んだお皿は上から。最後に入れたものを先に出す
最後に入れたデータから取り出す「後入先出」のルール。スタックでは、積み重ねたお皿を上から取るように、直前に追加したものを先に取り出す。
📌 このページのポイント
LIFOってどういう意味?
Last In, First Outの略で、「後入先出」というルールだよ。お皿を下からA、B、Cと積んだら、一番上のCを先に取るよね。次はB、最後はA。データでも同じ順番で出し入れするんだ
スタックとは同じものなの?
プログラムのどこで使うの?
コールスタックが身近だね。関数AがBを呼び、BがCを呼ぶ普通の入れ子の処理では、まずCが終わってBへ戻り、Bが終わってAへ戻る。最後に呼び出したものから戻る、という考え方だよ
元に戻す操作も同じ?
直前の操作から取り消す機能は、LIFOを理解する例になるよ。ただし、アプリが内部で必ず一つのスタックだけを使うと決まっているわけではないんだ。処理の順番と、製品の実装の話は分けようね
FIFOとの違いと、スタックオーバーフローは?
FIFOは行列のように、先に入ったものから出すルールだよ。LIFOは直前の処理に戻る用途に向いているね。コールスタックの容量を超えるほど呼び出しが重なると、スタックオーバーフローのエラーが起きることがあるんだ
まとめ:ざっくりこれだけ覚えればOK!
「LIFO」って出てきたら「最後に入れたものから取り出す、積み重ねルール」と思えばだいたいOK!
📖 おまけ:英語の意味
「Last In, First Out」 = 後入先出(最後に入ったものが先に出る)
💬 「最後に入ったものが最初に出る」をそのまま略した言葉だよ。FIFOの対義語として覚えるとわかりやすいよ