**Pila** bat (ingelesez *stack*) ordenatutako zerrenda bat edo datu-egitura bat da non haren elementuak atzitzeko moduari LIFO (ingelesez *Last In First Out*, "azkena sartzen lehenengoa irtetzen") deritzo eta datuak gordetzeko zein berreskuratzeko balio du. Egitura hori maiz erabiltzen da informatikaren arloan sinplea delako eta egituraren ordena inplizitua delako.

Datuak maneiatzeko oinarrizko bi eragiketa erabiltzen dira: **metatzea** (*push*), pilan objektu bat sartzeko, eta haren alderantzizko eragiketa,  **ateratzea** (edo erretiratzea, *pop*), metatutako azken elementua ateratzeko.

Une oro, pilaren goiko aldea bakarrik atzitu ahal da, hots, metatutako azken objektua (**TOS** deritzo, *Top of Stack* ingelesez). **Ateratze** eragiketak elementu hori eskuratzea ahalbidetzen du pilatik ateraz, eta horrela hurrengoaren atzipena ahalbidetzen da (lehenago metatua), TOS berria izatera pasatzen dena.

Eguneroko objektuekin analogia eginez, **metatze** eragiketa plater bat plater-pila baten gainean jartzearen baliokidea izango litzateke, eta  **ateratze** eragiketa plater hori erretiratzearen baliokidea.

 **Pilak** hurrengo testuinguruetan erabili ohi dira:

* Postfixu notazioko adierazpenak ebaluatzeko (idazkera poloniar alderantzizkoa).
* Testuingururik gabeko hizkuntzen egiaztatzaile sintaktikoetan.
* Errekurtsibitatearen inplementazioan.

Pila baten adierazpen grafikoa

Historia
--------

Pilaren metodoa, adierazpenak ebaluatzeko, 1955ean proposatu zen eta bi urte geroago Fiedrich L. Bauer-ek patentatu zuen, zeinek 1988an *"IEEE Computer Society Pioneer Award"* saria jaso zuen, datu-egitura horren garapenean egindako lanarengatik.

Deien pila
----------

Deien Pila memoriako segmentu bat da non datu-egitura hori erabiltzen den informazioa gordetzeko exekutatzen ari diren azpirrutinen deiei buruz. Azpirrutina horiek prozesuan dagoen programa bati dagozkio.

Azpirrutina-dei berri bat egiten den bakoitzean, sarrera berri bat metatzen da haren inguruko informazioarekin, esaterako aldagai lokalak. Batez ere, itzuleraren puntua gordetzen da, bertara itzultzeko azpirrutina amaitzen denean (aurreko azpirrutinara itzultzeko eta haren exekuzioa jarraitzeko deia eta gero).

Pila datu-mota abstraktu gisa
-----------------------------

Datu-mota gisa laburtzeko, pila bat nodoen edukiontzi bat da eta oinarrizko bi eragiketa ditu: *push* (edo metatzea) eta *pop* (edo ateratzea). 'Push'ak nodo bat gehitzen du pilaren goiko aldean, azpian gainerako nodoak utziz. 'Pop'ak pilaren uneko goiko nodoa kentzen du eta itzultzen du.

### Eragiketak

Pila batek nahitaezko bi eragiketa ditu: metatzea eta ateratzea. Pilen inplementazio berrietan, ohiko erabilera duten eragiketa gehitu ohi dira.

* **Sortzea:** pila hutsa sortzen da.
* **Metatzea:** elementu bat gehitzen da pilara. (*push*)
* **Ateratzea:** pilaren gaineko elementua kentzen da. (*pop*)
* *Tontorra:'* pilaren gainean dagoen elementua itzultzen da. (*top* edo *peek*)
* **Hutsik:** egiazkoa itzultzen da pila hutsa badago eta faltsua kontrako kasuetan.

Kanpo estekak
-------------

|  |  |
| --- | --- |
| Autoritate kontrola | 
* **Wikimedia proiektuak**
* Wd Datuak: Q177929
* Commonscat Multimedia: Stack data structures

---

* **Identifikadoreak**
* GND: 4808341-0

 |

* Wd Datuak: Q177929
* Commonscat Multimedia: Stack data structures