Opredelitev sklada v programiranju
vgajic/Getty Images
Sklad je matrična ali seznamska struktura funkcijskih klicev in parametrov, ki se uporabljajo v sodobnem računalniškem programiranju in arhitekturi CPE. Podobno kot kup krožnikov v samopostrežni restavraciji ali kavarni se elementi v kupu dodajajo ali odstranjujejo z vrha kupa v vrstnem redu zadnji prisoten, prvi ven ali LIFO.
Postopek dodajanja podatkov v sklad se imenuje potiskanje, medtem ko se pridobivanje podatkov iz sklada imenuje pop. To se zgodi na vrhu sklada. Kazalec sklada označuje obseg sklada in se prilagaja, ko se elementi potiskajo ali odstranjujejo v sklad.
Ko je funkcija poklicana, je naslov naslednjega ukaza potisnjen na sklad.
Ko se funkcija izklopi, se naslov izbrska kup in izvršba se nadaljuje na tem naslovu.
Dejanja na skladu
Obstajajo tudi druga dejanja, ki jih je mogoče izvesti na skladu, odvisno od programskega okolja.
- Peek: Omogoča pregled najvišjega elementa na kupu, ne da bi dejansko odstranili element.
- Zamenjava: imenovana tudi izmenjava, položaji dveh zgornjih elementov sklada se zamenjajo, pri čemer prvi element postane drugi in drugi vrh.
- Dvojnik: Najvišji element je izstreljen iz sklada in nato dvakrat potisnjen nazaj na sklad, kar ustvari dvojnik izvirnega elementa.
- Vrtenje: imenovano tudi vrtenje, določa število elementov v skladu, ki se vrtijo v svojem vrstnem redu. Če bi na primer zavrteli zgornje štiri elemente sklada, bi zgornji element premaknili na četrto mesto, medtem ko bi se naslednji trije elementi pomaknili za eno mesto navzgor.
Sklad je znan tudi kot ' Last In First Out (LIFO)'.
Primeri: V C in C++ , spremenljivke deklarirani lokalno (ali samodejno), so shranjeni na skladu.