スタックに「プッシュ」と呼ばれるものを配置するのはなぜですか?


22

http://dictionary.reference.comによると

押す

動詞(オブジェクトで使用)

  1. それを遠ざけるために力で(物)を押したり、押したりする。

  2. 力を働かせて特定の方法で(何か)を動かす 突き出す; ドライブ:何かを脇に寄せる。ドアを開ける

  3. 群衆の中に障害物を押しのけることによって達成または達成します。

  4. 拡張または投影させる 推力。

  5. 何らかの行動や進路を押したり、促したりするために:彼の母親は彼に仕事を求めた。

このIMOはFIFOキューに適合します。これについての説明はありますか?


2
イスラエルでは、銃弾を押し込む必要があるので、銃の雑誌に例えられました。
-GY

@GY-LOL-私はここに来て、まさにそれを言いました(ペッツのこと)。クソ野郎!イスラエルが興味深い文化けれども...
エドワード・ストレンジ

今日だけがFGITWだと思う!
スコットCウィルソン

1
この質問は、stackoverflow-stackoverflow.com/questions/420315/ stacks- why- push- and-popで質問および回答されました。プッシュとポップの両方について説明します。
Bratch

「history」タグが必要です。
Bratch

回答:


47

伝説によると、元のスタックは大学のカフェテリアの料理のスタックに類似してその名前を受け取りました:あなたが一番上に置き、皿の(バネ付きの)スタックが少し下がり、あなたはそれを取り去ってポップします少し上がった。したがって、「プッシング」は、実際にプレートを押し下げない場合でも、下向きに操作することの意味合いを受け取りました-それを置くだけで重力が働きます。「プッシュダウンスタック」は今でも一般的なフレーズであり、スタックはメモリ内で下向きに成長する傾向があります(メモリアドレスが減少するなど)。しかし、それがディッシュスタックと関係があるかどうかは疑問です。


1
プッシュダウンは、プッシュダウンオートマトンから発生する場合があります。
-Oded

11
@Oded私はそれが逆であることをかなり確信しています。プッシュダウンオートマトンは、プッシュダウンスタックによって拡張される有限オートマトンです。
コンラッドルドルフ

また、PCが「アップ」とカウントするため、下位のメモリアドレスが下部にあることを学習していることを知っています。
フィリップ

私は、その起源はそれらのドキュメントの急増に関係しているという印象を受けていました。ご存知のように、紙の
イアン

44

ペッツディスペンサーについて考えてください。これがスタックのメンタルモデルです-最後に、最初に。そのため、スタックにアイテムを追加するには、既存のアイテムをプッシュダウンしてスペースを空ける必要があります。

http://i.stack.imgur.com/VJkYi.jpg


2
mmmmmm ...ペッツ!!!
スティーブンA.ロウ

1
私は弾薬雑誌のモデルを提案するつもりでしたが、ペッツディスペンサーははるかに家族に優しい心の絵です。+1して、もっと投票できるといいのですが。
キース

ハローキティのために-1に誘惑されますが、答えと類似性の正義は行いません。だから私から+1。
0xC0000022L

そして、これはあなたに子供に「スタック」を説明する方法です:)
チャニ

StackOverflowは、Pezのパック全体を詰めようとするときに発生し、指をはめる前に全部が指から飛び出して、場所全体に広がります。

3

FIFOはキューです-グループに最初に追加されたものが最初に提供されます。

LIFOはスタック-たくさんのトレイのようなものです。常にスタックの一番上から取得します。

一部のカフェテリアでは、トレイのスタックがバネ付きの表面にあるため、LIFO /スタックにアイテムを追加するときにプッシュという用語が使用されます。より多くのアイテムがスタックにプッシュされると、スタック全体が低くなります。

スタックから最上位/最新のアイテムが削除されると、最上位のアイテムがスタックの最上部から「ポップ」されます。


カフェテリアのプレートのスタックは、スタックデータ構造がどのように機能するかを説明するためによく使用されますが、それが用語の由来であるという証拠はありますか?
カレブ

@ Caleb、TAOCP Volume 1(第2版の237ページ)では、引用はされていますが、引用はされていません。前のページでは、「スタック」と「キュー」という用語がどのように「徐々に標準用語になっていくか」について説明しているため、これが最も早い潜在的なリファレンスになる可能性があります。
mpdonadio

3

カフェテリアのプレートまたはトレイ、ペッツディスペンサー、および本の山を使用したイラストはすべて後から登場しました。ウィキペディアから:(参照)

「スタックは、1946年に、サブルーチンの呼び出しと戻りの手段として、アランM.チューリング(「埋没」と「埋没」という用語を使用)のコンピューター設計で最初に提案されました。」他の人による追加の作業と特許が1957年に続きました。現在使用しているスタックの現在の図解により、チューリングの本来の埋没と埋没の用語がプッシュとポップに発展した可能性があります。たぶん、これらの用語はよりよく聞こえます。

これがどこでいつ発生したかを正確に見つけることが、OPの質問に対する答えです。たぶん、答えはWikipediaの参考文献の1つに埋もれているかもしれません。たとえば、自動化されたデータとデータの管理」などです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.