Junior
Ako funguje zásobník v kontexte programovania?
sobes.tech AI
Odpoveď od AI
Zásobník je abstraktný dátový typ, ktorý funguje podľa princípu LIFO (Last-In, First-Out).
Hlavné operácie so zásobníkom:
- Push: Pridanie prvku na vrchol zásobníka.
- Pop: Odstránenie a vrátenie prvku z vrcholu zásobníka.
- Peek (alebo Top): Vrátenie prvku z vrcholu bez jeho odstránenia.
- isEmpty: Kontrola, či je zásobník prázdny.
- size: Vrátenie počtu prvkov v zásobníku.
Príklad implementácie zásobníka v Kotlin s použitím MutableList:
class Stack<T> {
private val elements = mutableListOf<T>()
fun push(item: T) {
elements.add(item)
}
fun pop(): T? {
return if (!isEmpty()) {
elements.removeAt(elements.size - 1)
} else {
null // Alebo vyhodiť výnimku
}
}
fun peek(): T? {
return if (!isEmpty()) {
elements.last()
} else {
null
}
}
fun isEmpty(): Boolean {
return elements.isEmpty()
}
fun size(): Int {
return elements.size
}
}
Použitie zásobníka v programovaní je bežné v:
- Výpočte výrazov: Konverzia z infixovej notácie na postfix alebo prefix, výpočet postfixových výrazov.
- Riadenie volaní funkcií/metód: Zásobník volaní uchováva informácie o aktívnych funkciách.
- Zrušiť/zopakovať akcie: Editory kódu a grafické editory používajú zásobníky na históriu akcií.
- Prechádzanie grafov a stromov: Používa sa na implementáciu algoritmu hĺbkového prehľadávania (DFS).
- Syntaktická analýza: Parsers používajú zásobníky na kontrolu správnosti syntaxe.
Zásobník je základná dátová štruktúra a je dôležitý pre pochopenie princípov fungovania mnohých algoritmov a nízkoúrovňových mechanizmov v operačných systémoch a virtuálnych strojoch.