データ構造におけるスタックにおいて
スタックからデータを取り出すことを「POP」と呼びますが、そのスタックにおける「POP」という名前の由来は何なんでしょうか?
取り出すというのは英語では「Take out」といいますが、なぜ「POP」という名前になったのでしょうか?
そもそも「POP」というのは、正式には英語でなんというのでしょうか?
回答のほうよろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答7件
0
ベストアンサー
英和辞典より
pop は「自動詞」です。したがって「飛びだす」「急に動く」が本来の意味ですが、コンピューター用語では、LIFO(Last in First out) 後入れ先立しデータ構造から先頭要素を取り出すの意味で「他動詞」として使います。
蛇足
英語版のスタックの解説には、歴史が掲載されていて興味深いです。
- サブルーチンを考えたのは Konrad Zuse
コールの戻りアドレスをスタックに積むことだと思われます。
チューリングはサブルーチンのcall/returnを、burry/unburry と言っていた。
- 式の評価にスタックを使うアイデアはドイツとオーストラリアで考案された
ミュンヘン工科大学 Klaus Samelson、Friedrich L. Bauer
サウスウェールズ工科大学 Charles Leonard Hamblin
逆ポーランド記法の評価だと思われます。
英英辞典より 追記(2019-07-14)
英英辞典(Merriam-Webster)を調べると他動詞の用法がありました。(ポンと音を立てる、飛び出す、泡が弾ける、といったイメージのようです)
- 他動詞
鋭く突く、急に突き出す、ポンと弾けさせる、発射する、音をたてて開ける、錠剤を常用する、など。
- 自動詞
急に行く、来る(pop up)。鋭い音をたてる。(目が)飛び出す。短銃が撃つ、など。
スタックの例え
スタックのたとえでよく用いられるのが、カフェテリアに備え付けられた、底にばねのついた皿収容器です。皿は上からしか入れられず、取り出すのも上からです。私は見たことがありませんが。
投稿2019/07/12 17:01
編集2019/07/13 21:01総合スコア1109
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
push は押し込む、pop は飛び出させるです。
↓のイメージですね。
投稿2019/07/12 15:31
総合スコア28673
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
queueの場合でもpush/popという言葉は変わりません。ただ、英単語として「取り出す」という意味があるようではないですし、語源はわかりません。
ついでにメールプロトコルにもPOPと略すものがありますが、多分関係ないです。
投稿2019/07/12 15:22
総合スコア4853
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
pop up らししいですよ。
積むのは push down ですね。
http://www.cc.kyoto-su.ac.jp/~yamada/ap/stack.html
--- 追記 ---
他の方の回答にもあるようにアセンブラにおける命令に
同様のものがありますが
http://ings.sakura.ne.jp/prog/asm4.html
どちらが本来のものかといわれると、
ちょっと判断に迷いますね。
投稿2019/07/12 11:49
編集2019/07/12 11:54総合スコア7468
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
PUSH/POP はどちらもそのままかと。
と言うより、アセンブラの命令では、そのまま、 Push/Pop ですね。
(実際には、CPUによって、異なる引数が付く)
まあ、Push down, Pop up あたりでしょうか。
[追記]
スタックに積むと言いますが、積まれれば、下のは下がる。(押し込まれる -- push down)
上を除けば、下は上がる。 (持ちあがる -- pop up)
辺りか?
投稿2019/07/12 11:47
編集2019/07/12 12:00総合スコア6385
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。