Stacko apibrėžimas programuojant

Jaunuolio programavimas

vgajic / Getty Images





Stackas yra funkcijų iškvietimų ir parametrų masyvo arba sąrašo struktūra, naudojama šiuolaikiniame kompiuterių programavime ir procesoriaus architektūroje. Panašiai kaip lėkščių šūsnis savitarnos restorane ar kavinėje, krūvos elementai pridedami arba pašalinami iš rietuvės viršaus pagal užsakymą „kas pirmas, pirmas išeina“ arba „LIFO“.

Duomenų įtraukimo į krūvą procesas vadinamas stūmimu, o duomenų gavimas iš krūvos vadinamas pop. Tai įvyksta krūvos viršuje. Krūmos žymeklis rodo krūvos apimtį, koreguojamas, kai elementai stumiami arba perkeliami į krūvą.



Kai funkcija iškviečiama, kitos instrukcijos adresas įstumiamas į krūvą.

Kai funkcija išjungiama, adresas pasirodo krūva ir vykdymas tęsiamas tuo adresu.



Veiksmai ant krūvos

Priklausomai nuo programavimo aplinkos, yra ir kitų veiksmų, kuriuos galima atlikti su krūva.

  • Žvilgtelėti: leidžia apžiūrėti aukščiausią krūvos elementą iš tikrųjų nepašalinant elemento.
  • Apsikeitimas: taip pat vadinamas mainais, dviejų viršutinių krūvos elementų pozicijos yra sukeičiamos, pirmasis elementas tampa antruoju, o antrasis tampa viršutiniu.
  • Kopijuoti: viršutinis elementas ištraukiamas iš krūvos ir du kartus stumiamas atgal į krūvą, sukuriant pradinio elemento dublikatą.
  • Pasukti: taip pat vadinamas ritiniu, nurodo elementų skaičių krūvelėje, kurios pasukamos jų tvarka. Pavyzdžiui, pasukus keturis viršutinius krūvos elementus, viršutinis elementas būtų perkeltas į ketvirtą padėtį, o kiti trys elementai – viena pozicija aukštyn.

Stackas taip pat žinomas kaip ' Paskutinį kartą išėjus (LIFO)“.

Pavyzdžiai: C ir C++ , kintamieji deklaruoti lokaliai (arba automatiniai) yra saugomi krūvoje.