Pinumälu

Korstnat on üks tähtsamaid andmestruktuure arvutiteaduses. Et mõista, kuidas virn töötab, mõelge mängukaartide kaardipakile, mis on näoga allapoole. Me saame hõlpsasti ligipääsu ainult peal olevale kaardile. Kui me tahame vaadata ülemist kaarti, saame teha kahte asja: me võime seda piiluda, kuid jätta selle virna, või me võime selle maha võtta. Kui me popime ülemise objekti maha, siis võtame selle virnast maha. Kui me tahame lisada veel ühe kaardi virna tippu, siis me lükkame seda.

Korstnat nimetatakse LIFO (last-in-first-out) kogumiks. See tähendab, et viimasena lisatud (pushed) on esimene asi, mis tõmmatakse (popped) välja. Kui viimane kaart, mille panime oma kaardihunnikusse, oli äss, siis esimene kaart, mille tõmbame ülalt, on seesama äss.

Kaks toimingut virnas: push ja pop.Zoom
Kaks toimingut virnas: push ja pop.

Ajalugu

Esimest korda pakkus selle korstna välja 1955. aastal ja seejärel patenteeris selle 1957. aastal sakslane Friedrich L. Bauer. Sama kontseptsiooni töötas umbes samal ajal iseseisvalt välja austraallane Charles Leonard Hamblin.

Muud toimingud

Kaasaegsetes arvutikeeltes on virna tavaliselt rakendatud rohkem operatsioone kui ainult "push" ja "pop". Mõnedes implementatsioonides on funktsioon, mis tagastab virna praeguse pikkuse. Teine tüüpiline abitoiming on "top" (tuntud ka kui "peek"), mis võib tagastada virna praeguse ülemise elemendi ilma seda eemaldamata. Teine levinud operatsioon on "dup", mis teeb koopia virna tipus olevast elemendist.

Seotud leheküljed

  • Stack masin

AlegsaOnline.com - 2020 / 2023 - License CC3