Junior — Middle
¿Qué procesos ocurren cuando se añade un nuevo elemento a una pila implementada mediante una lista enlazada?
sobes.tech AI
Respuesta de la IA
Al agregar un nuevo elemento a la pila, implementada mediante una lista enlazada, sucede lo siguiente:
- Se crea un nuevo nodo (elemento de la lista), que contiene el valor que se desea agregar.
- El puntero del nuevo nodo se establece en el elemento superior actual de la pila (es decir, en la cabeza de la lista enlazada).
- La cabeza de la lista enlazada se actualiza y ahora apunta al nuevo nodo, que se convierte en el nuevo elemento superior de la pila.
De esta manera, la operación push se realiza en tiempo constante O(1), ya que no requiere recorrer la lista.
Ejemplo en 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
}
}