Implementación de Stacks en JavaScript: Métodos Push y Peek
Clase 21 de 29 • Curso 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.
- Crear un nodo: Cada elemento del stack es un nodo.
- Validar el stack: Si el stack está vacío, el nuevo nodo se convierte en el
top
y en elbottom
. - 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!