Sobes.tech
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:

  1. Se crea un nuevo nodo (elemento de la lista), que contiene el valor que se desea agregar.
  2. El puntero del nuevo nodo se establece en el elemento superior actual de la pila (es decir, en la cabeza de la lista enlazada).
  3. 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
    }
}