Neden “itme” adı verilen yığına bir şey koymak?


22

Http: //dictionary.reference.com’a göre

it

fiil (nesne ile birlikte kullanılır)

  1. uzaklaştırmak için kuvvetle üzerine veya bir şeye (bir şeye) baskı yapmak.

  2. kuvvet uygulayarak belirli bir şekilde (bir şeyi) hareket ettirmek; kıpırdamak; sürücü: bir şeyi bir kenara itmek; Kapı açıyorlar itmek .

  3. Bir kenara engelleri sokarak etkilemek veya başarmak: birisini kalabalığın arasından geçirmek.

  4. uzatmaya veya projeye neden olmak için; itme.

  5. Bir eylem ya da kursa bastırmak ya da ısrar etmek için: Annesi, bir iş bulması için onu zorladı.

Bu IMO, FIFO sıralarına uyar . Bunun bir açıklaması var mı?


2
Pekala .. İsrail'de bu benzetme silah mermilerinden kurtulmak için ihtiyacınız olduğu için silah dergisi içindi .. ama sanırım pez dispencer daha iyi.
GY

@ GY - LOL - Buraya tam olarak bunu söylemek için geldim (Pez olayı). PİÇ! İsrail'de orada ilginç kültür var ...
Edward Strange

Sadece bugün için FGITW olduğumu tahmin ediyorum!
Scott C Wilson

1
Bu soru stackoverflow'ta yapıldı - stackoverflow.com/questions/420315/stacks-why-push-and-pop . Push ve pop her ikisi de tartışılır.
Bratch

"History" etiketine ihtiyaç var.
Bratch

Yanıtlar:


47

Efsaneye göre, orjinal yığın adını üniversite kafeteryasındaki yemek yığınlarına benzeterek aldı: bir tanesini üste koydun, ve (yay yüklü) bulaşık yığını biraz aşağı iniyor, bir tanesini alıyorsun ve çıkıyor biraz yukarı. Bu nedenle, 'bastırmak' aşağıya doğru harekete geçme çağrışımını aldı, gerçekte plakayı aşağıya itmemenize rağmen - sadece onu ayarlayın ve yerçekimi işe yarıyor. "Yığın yığma yığını" hala yaygın bir tabirdir ve yığınlar bellekte (yani azalan bellek adresleriyle birlikte) bellekte aşağı doğru uzama eğilimindedir, bunun bulaşık yığınlarıyla ilgisi olup olmadığına kuşku yoktur.


1
Pushdown, Pushdown Automata'dan kaynaklanabilir.
23'te Oded

11
@Oded, bunun tam tersi olduğundan eminim. Bir pushdown otomatı, bir pushdown yığınının desteklediği sonlu bir otomattır.
Konrad Rudolph

Ve bazı fakir aptalları biliyorsunuz, çünkü PC "yukarı" saydığından, düşük hafıza adreslerinin en altta olduğunu öğreniyor.
Philip

Kökeni bu belge sivri ile ilgisi olduğu izlenimini altındaydı. Bilirsin, dikey olarak tutturulmuş bir kağıt
Ian

44

Bir Pez dağıtıcı düşünün . Bu bir yığın için zihinsel modelinizdir - ilk giren ilk çıkar. Bu yüzden, bir yığına bir öğe eklemek, yer açmak için mevcut eşyaları aşağı itmenizi gerektirir.

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


2
mmmmmm ... Pez !!!
Steven A. Lowe

1
Bir cephane dergisinin modelini önerecektim, ama Pez dağıtıcısı çok daha aile dostu bir zihinsel tablo. +1 ve keşke daha fazlasını kazanabilseydim.
KeithS

Merhaba kitty için -1 için cazip, ancak cevap ve benzetme adalet olmaz. Yani benden +1.
0xC0000022L

ve bu nasıl bir çocuğa "Stack" açıklamak :)
Chani

StackOverflow, bir paket Pez ile doldurmaya çalıştığınızda gerçekleşir ve her şey her yere yayılmadan önce parmaklarınızdan çıkar.
korku

3

FIFO bir Kuyruktur - gruba ilk eklenenler ilk sunanlardır.

LIFO bir Yığın gibidir - bir avuç tepsi gibi. Her zaman yığının tepesinden birini alırsın.

İtme terimi LIFO / Stack'a bir öğe eklerken kullanılır, çünkü bazı kafeteryalarda tepsiler yığını yaylı bir yüzeye yerleştirilir. Yığına daha fazla öğe ilerledikçe istifin tamamı daha alçalır.

En üstteki / en yeni öğe yığından kaldırıldığında, üstteki yığının üstünden "atılır".


Bir kafeteryadaki plaka yığını genellikle bir yığın veri yapısının nasıl çalıştığını göstermek için kullanılır, ancak terminolojinin nereden geldiğine dair bir kanıtınız var mı?
Caleb

@Caleb, TAOCP Cilt 1 (ikinci baskıdaki s. 237), bunun yapıldığını fakat bir alıntı yapmadığını belirtir. Önceki sayfa, "yığın" ve "sıra" terimlerinin "aşamalı olarak standart terminoloji" haline gelmesinden bahsediyor, bu yüzden bu en eski potansiyel referans olabilir.
mpdonadio

3

Kafeterya plakaları veya tepsileri, pez dağıtıcılar ve kitap yığınlarını kullanan resimler daha sonra geldi. Gönderen Vikipedi: (referanslarla)

“İlk önce 1946'da Alan M. Turing'in (" gömme "ve" unbury "terimlerini kullananlar) bilgisayar tasarımında alt rutinlerden çağrı ve geri gönderme aracı olarak önerildi." Başkalarının ek çalışmaları ve patentleri 1957'de takip edildi. Bugün kullandığımız stokların mevcut örnekleri Turing'in orijinal gömme ve unbury terimlerinin itme ve patlamaya dönüşmesine neden olmuş olabilir. Belki bu terimler daha iyi ses çıkarır.

Bunun tam olarak nerede veya ne zaman olduğunu bulmak OP'nin sorusunun cevabıdır. Belki de cevap, " Verfahren zur automatischen Verarbeitung von kodierten Daten ve Rechenmaschine zur Ausübung des Verfahrens " gibi Wikipedia referanslarından birine gömülmüştür .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.