Sobes.tech
Junior — Middle

Quais processos ocorrem quando um novo elemento é adicionado a uma pilha implementada através de uma lista ligada?

sobes.tech IA

Resposta da IA

Ao adicionar um novo elemento ao pilha, implementada através de uma lista ligada, o seguinte acontece:

  1. Um novo nó (elemento da lista) é criado, contendo o valor a ser adicionado.
  2. O ponteiro do novo nó é definido para o elemento superior atual da pilha (ou seja, para a cabeça da lista ligada).
  3. A cabeça da lista ligada é atualizada para apontar para o novo nó — que se torna o novo elemento superior da pilha.

Assim, a operação push é executada em tempo constante O(1), pois não requer percorrer a lista.

Exemplo em 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
    }
}