Sobes.tech
Junior — Middle

Hoe bouw je een stack datastructuur met behulp van een gekoppelde lijst?

sobes.tech AI

Antwoord van AI

De stack kan worden geïmplementeerd op basis van een gekoppelde lijst, waarbij elk element (knoop) gegevens bevat en een verwijzing naar het volgende element. Het bovenste element van de stack is de kop van de lijst. Belangrijkste operaties:

  • push — voeg een nieuwe knoop toe aan het begin van de lijst;
  • pop — verwijder de knoop aan het begin van de lijst en geef de waarde terug;
  • peek — bekijk de waarde van de kop zonder te verwijderen.

Voorbeeld in Kotlin:

class Node<T>(val data: T, var next: Node<T>? = null)

class Stack<T> {
    private var head: Node<T>? = null

    fun push(value: T) {
        val newNode = Node(value, head)
        head = newNode
    }

    fun pop(): T? {
        val value = head?.data
        head = head?.next
        return value
    }

    fun peek(): T? = head?.data

    fun isEmpty() = head == null
}

Deze aanpak garandeert stack-operaties in O(1) tijd en dynamische uitbreiding zonder de noodzaak van het reserveren van een grote array.