「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

スタック

pointこの用語のポイント

pointデータ構造だよ

point後に入れたものが先に出るよ

point「キュー」の逆だよ

スポンサーリンク

簡単に書くよ

スタック(英:stack)とは

後に入れたものが先に出る構造になっている何か
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「先入先出(FIFO)」と「後入先出(LIFO)」について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

先入先出(FIFO)は「先に入ったものが先に出てくる」です。

スタック(stack)

後入先出(LIFO)は「後に入ったものが先に出てくる」です。

スタック(stack)2

例えば、そうですね。
ここに2つのトンネルが ありました。

スタック(stack)3

1つは通り抜け可能な普通のトンネルです。
入った方と逆側から出てこれます。

スタック(stack)4

もう1つは中が行き止まりになっている偽物トンネルです。
通り抜けできないので、入った方から戻って出てくるしかありません。

スタック(stack)5

ある日のことです。
ピヨ太君、ピヨ子さん、ピヨ太ママが、それぞれの車でドライブに出かけました。
道が狭いので、縦一列に並んで爆走しています。

スタック(stack)6

トンネルが見えてきました。
ピヨ太君、ピヨ子さん、ピヨ太ママの順番でトンネルに入ります。

スタック(stack)7

おっと、今入ったトンネルは普通のトンネルだったようです。
トンネルを通りぬけて、逆側から、ピヨ太君、ピヨ子さん、ピヨ太ママの順番で出てきました。

スタック(stack)8

入った順番は

ピヨ太君 → ピヨ子さん → ピヨ太ママ

です。

出てきた順番も

ピヨ太君 → ピヨ子さん → ピヨ太ママ

です。

これは

った人(?)てきた

と言えるでしょう。

スタック(stack)9

このような

「先」に「入」ったものが「先」に「出」てくる

のを「先入先出」や「FIFO」と言います。

スタック(stack)10

ちなみに「FIFO」と表現された場合は「First In First Out(ファースト・イン・ファースト・アウト)」の略です。

スタック(stack)11

※「First In First Out」を何となく日本語にすると「最初に入ったのが最初に出る」となります。[詳細]

さて、ドライブは続きます。
再び、ピヨ太君、ピヨ子さん、ピヨ太ママの順番でトンネルに入りました。

スタック(stack)12

おっと、今度は偽物トンネルだったようです。
トンネルを通り抜けできません。
入ったところから戻る必要があります。

スタック(stack)13

……が、道が狭くて、Uターンできませんでした。
仕方がないので、バックで戻ります。

スタック(stack)14

入ったところから、ピヨ太ママ、ピヨ子さん、ピヨ太君の順番で出てきました。

スタック(stack)15

入った順番は

ピヨ太君 → ピヨ子さん → ピヨ太ママ

です。

出てきた順番は

ピヨ太ママ → ピヨ子さん → ピヨ太君

です。

これは

った人(?)てきた

と言えるでしょう。

スタック(stack)16

このような

「後」に「入」ったものが「先」に「出」てくる

のを「後入先出」や「LIFO」と言います。

スタック(stack)17

ちなみに「LIFO」と表現された場合は「Last In First Out(ラスト・イン・ファースト・アウト)」の略です。

スタック(stack)18

※「Last In First Out」を何となく日本語にすると「最後に入ったのが最初に出る」となります。[詳細]

以上を踏まえて

後入先出な構造になっている何か

が「スタック(stack)」です。
偽物のトンネルみたいに行き止まりになっている構造のものを指します。

スタック(stack)19

「スタック」と呼ばれているものが実際に何を指すかはケース・バイ・ケースです。
文脈から判断してください。
具体的に「これ!」を指す用語では ありません。
後入先出な構造になっている「何か」を指す用語です。

あと、ついでなので書いておくと、先入先出な構造になっている何かは「キュー(queue)」と言います。
普通のトンネルみたいに通り抜けできる構造のものです。

スタック(stack)20

気が向いたら、セットで覚えてあげてください。

スタック:後入先出な何か
キュー:先入先出な何か


です。

スタック(stack)21

「キューっと押し出せるのがキュー」で「キューじゃない方がスタック」と覚えると覚えやすいと思います。


image piyo2

一言でまとめるよ

まぁ「スタック(stack)」って単語が出てきたら「後入先出(後に入れたもの(新しいもの)を先に出すやり方)な構造になっている何かなんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像031
書籍画像019

おまけ

■訳してみるよ

「stack(スタック)」の意味は

(物を積み重ねた)
・干し草の山
・積み重ね


とかです。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
サイバー忍者入門 忍者・スパイ・軍隊・ハッカーに学ぶ フルスタック・ハッキング
ウォーターサーバーのキャッチコピーを100本考える方法