Stacka definīcija programmēšanā
vgajic/Getty Images
Stacks ir funkciju izsaukumu un parametru masīva vai saraksta struktūra, ko izmanto mūsdienu datorprogrammēšanā un CPU arhitektūrā. Līdzīgi kā šķīvju kaudze bufetes tipa restorānā vai kafejnīcā, kaudzes elementi tiek pievienoti vai noņemti no kaudzes augšdaļas pēdējā, pirmais ārā vai LIFO secībā.
Datu pievienošanas process stekam tiek saukts par push, savukārt datu izgūšanu no steka sauc par pop. Tas notiek kaudzes augšpusē. Kaudzītes rādītājs norāda kaudzes apjomu, pielāgojoties, kad elementi tiek stumti vai uznirstīti kaudzē.
Kad funkcija tiek izsaukta, nākamās instrukcijas adrese tiek nospiesta stekā.
Kad funkcija iziet, adrese tiek parādīta kaudze un izpilde turpinās šajā adresē.
Darbības uz steka
Ir arī citas darbības, kuras var veikt stekā atkarībā no programmēšanas vides.
- Ielūkoties: ļauj pārbaudīt kaudzītes augšējo elementu, faktiski nenoņemot elementu.
- Swap: saukta arī par apmaiņu, divu augšējo kaudzes elementu pozīcijas tiek apmainītas, pirmais elements kļūst par otro un otrais kļūst par augšējo.
- Dublikāts: augšējais elements tiek izmests no steka un pēc tam divreiz uzspiests atpakaļ uz kaudzītes, izveidojot sākotnējā elementa dublikātu.
- Pagriezt: saukts arī par ritināšanu, norāda to elementu skaitu kaudzē, kas tiek pagriezti to secībā. Piemēram, pagriežot kaudzes četrus augšējos elementus, augšējais elements tiktu pārvietots uz ceturto pozīciju, bet nākamie trīs elementi tiktu pārvietoti par vienu pozīciju uz augšu.
Kaudze ir pazīstama arī kā ' Last In First Out (LIFO)”.
Piemēri: C un C++ , mainīgie deklarētie lokāli (vai automātiski) tiek saglabāti kaudzē.