Implementación de Stacks en JavaScript: Métodos Push y Peek

Clase 21 de 29Curso de Estructuras de Datos con JavaScript

Resumen

¿Cómo construir un stack en JavaScript?

Construir un stack en JavaScript es una habilidad esencial que nos permite organizar datos de manera eficiente. Un stack es una estructura de datos que sigue el principio LIFO (Last In, First Out), lo que significa que el último elemento en ser agregado es el primero en ser removido. En este contenido, desarrollaremos un stack usando clases en JavaScript y aprenderemos a implementar sus métodos principales.

¿Cómo comenzar con la clase de stack?

Para comenzar, necesitamos definir una clase stack en JavaScript. No inicializaremos la clase con un elemento ya que usaremos el método push para agregar elementos.

class Stack {
  constructor() {
    this.top = null;
    this.bottom = null;
    this.length = 0;
  }
}

¿Cómo funciona el método push?

El método push añade un nuevo elemento al stack.

  1. Crear un nodo: Cada elemento del stack es un nodo.
  2. Validar el stack: Si el stack está vacío, el nuevo nodo se convierte en el top y en el bottom.
  3. Actualizar conexiones: De lo contrario, actualizamos el top y mantenemos las conexiones.
push(value) {
  const newNode = new Node(value);
  if (this.length === 0) {
    this.top = newNode;
    this.bottom = newNode;
  } else {
    const holdingPointer = this.top;
    this.top = newNode;
    this.top.next = holdingPointer;
  }
  this.length++;
  return this;
}

¿Cómo se implementa el nodo?

El nodo es una pieza fundamental en el stack. Cada nodo tiene un valor y un puntero al siguiente nodo.

class Node {
  constructor(value) {
    this.value = value;
    this.next = null;
  }
}

¿Cómo opera el método peek?

El método peek permite ver el último elemento agregado sin removerlo.

peek() {
  return this.top;
}

¿Cómo validar el funcionamiento del stack?

Probar la funcionalidad del stack es crucial para asegurarse de que se comporta como se espera. A continuación, generamos una instancia del stack y utilizamos los métodos push y peek:

const myStack = new Stack();
console.log(myStack);

myStack.push(1);
myStack.push(2);
myStack.push(3);
console.log(myStack.peek().value); // Debería mostrar 3

¿Qué sigue después de push y peek?

Además de los métodos mencionados, el método pop es fundamental. Aunque queda como un reto personal, deberías estar en buena posición para implementarlo, basándote en la lógica de los métodos anteriores. Usa diagramas para aclarar cómo un elemento puede ser removido desde el top del stack.

Recuerda que el aprendizaje consiste en práctica y experimentación. Con la comprensión adecuada de cómo funcionan las listas enlazadas, la construcción de pilas y colas será mucho más sencilla. ¡Te animamos a resolver el reto del método pop y a continuar explorando el fascinante mundo de las estructuras de datos!