Sobes.tech
Junior — Middle

Welke processen vinden plaats wanneer een nieuw element wordt toegevoegd aan een stack geïmplementeerd via een gekoppelde lijst?

sobes.tech AI

Antwoord van AI

Bij het toevoegen van een nieuw element aan de stapel, geïmplementeerd via een gekoppelde lijst, gebeurt het volgende:

  1. Er wordt een nieuwe knoop (lijstitem) gemaakt, waarin de waarde wordt opgeslagen die moet worden toegevoegd.
  2. De pointer van de nieuwe knoop wordt ingesteld op het huidige bovenste element van de stapel (dat wil zeggen, op de kop van de gekoppelde lijst).
  3. De kop van de gekoppelde lijst wordt bijgewerkt en wijst nu naar de nieuwe knoop — deze wordt het nieuwe bovenste element van de stapel.

Op deze manier wordt de push-operatie uitgevoerd in constante tijd O(1), omdat er geen lijst hoeft te worden doorlopen.

Voorbeeld in Kotlin:

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

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

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

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