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:
- Um novo nó (elemento da lista) é criado, contendo o valor a ser adicionado.
- O ponteiro do novo nó é definido para o elemento superior atual da pilha (ou seja, para a cabeça da lista ligada).
- 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
}
}