"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Introducción a DS&A de pilas JS

Introducción a DS&A de pilas JS

Publicado el 2024-08-26
Navegar:557

Si utiliza algún dispositivo moderno, es probable que haya encontrado operaciones de pila, incluso si no se dio cuenta. Las pilas son fundamentales en muchas tareas de programación, desde administrar llamadas a funciones hasta permitir operaciones de deshacer.

¿Qué son las pilas?

Las pilas son una estructura de datos lineal que sigue el orden de las operaciones organizando los datos en una estructura LIFO o FILO.

LIFO: último en entrar, primero en salir.

FILO: Primero en entrar, último en salir.

Las pilas se utilizan para realizar operaciones en una colección de elementos, como agregar y eliminar elementos, mostrar los elementos superiores y mostrar si la colección está vacía o llena.

Por ejemplo:

Cuando estás en tu navegador web visitando www.ESPN.com y accidentalmente haces clic en un anuncio de entradas para el béisbol de los Chicago White Sox. Agregamos a nuestra pila, tal vez no intencionalmente, pero ahora está en la parte superior de nuestra pila. Luego nos damos cuenta de que los Medias Blancas de Chicago han perdido 15 juegos seguidos. Bueno... presionemos el botón Atrás (eliminando ese elemento de la parte superior de la pila).

JS stacks DS&A intro

Sí, ese de ahí arriba. Esto demuestra el principio LIFO en operaciones de stacks, estamos dejando(eliminando) la última página visitada de nuestro historial(o Stacks) para regresar a www.ESPN.com... tal vez el próximo año White Sox's.

Las operaciones de pilas se utilizan a menudo en aplicaciones que necesitan mantener el orden del historial del navegador web, deshacer y rehacer en editores de texto y pilas de llamadas de funciones, por nombrar algunas.

Las funciones comúnmente utilizadas al modificar pilas son las siguientes:

.Push = para agregar elemento a una pila.

.pop = para eliminar el elemento superior de una pila.

.peek = para mostrar el elemento superior de una pila.

.length/.size = para determinar el total de índices en una pila. Usos de Javascript (.longitud)

.isEmpty = comprueba si una pila está vacía.

.isFull = comprueba si una pila está llena; si la matriz tiene un tamaño fijo.

La estructura de datos de pilas se puede crear con una clase de pilas o con una matriz normal.

Implementando pilas sin clase:

Al realizar operaciones de pila sin una clase de pila, simulamos operaciones de pila con una matriz.

A continuación se mostrará un ejemplo del uso de operaciones de pilas para invertir una serie de números. Usaré JSON.stringify para comparar los valores del resultado de la matriz con el resultado de la matriz deseado.

Ex:

// Reverse an array using stack operations

let number = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; // original array
let numberList = [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]; // reversed array
let ordernumberList = []; // array to store the reversed order

// Loop through the numberList array to reverse its order
for (var i = 0; i 



Quiero resaltar la declaración if-else al final. Utilicé el método JSON.stringify para comparar las dos matrices porque, sin él, la comparación devolvería falso, lo que desencadenaría la condición else, aunque las matrices tengan contenido idéntico. Esto sucede porque, al comparar matrices en JavaScript, la comparación verifica sus referencias (es decir, sus ubicaciones de memoria) en lugar del contenido real dentro de las matrices.

Como podemos ver a lo largo del bucle for, nuestro método .pop (eliminó) el último índice en la matriz numberList primero (LIFO). Luego, use el método .push para agregarlo a la nueva matriz ordernumberList, invirtiendo la matriz original.

FILO entra en la nueva matriz formulada ya que los primeros índices insertados en la matriz ordernumberList serán los últimos en salir (FILO) si alguna vez se modifican con las operaciones de pila.

En este artículo, exploramos cómo funcionan las pilas utilizando los principios LIFO y FILO, implementamos operaciones de pila en JavaScript. Comprender las pilas es esencial para muchas tareas de programación, como se ve en escenarios del mundo real como la navegación web.

Declaración de liberación Este artículo se reproduce en: https://dev.to/cedsengine/js-stacks-dsa-intro-bl3?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3