Implementación de Stack en JavaScript

Implementacion De Stack En Javascript



Las pilas son estructuras de datos lineales que siguen el principio de LIFO. LIFO significa último en entrar, primero en salir, lo que significa que el elemento agregado más recientemente es el primero en eliminarse. Esta estructura de datos se denomina pila como una analogía con las pilas del mundo real, por ejemplo, una pila de galletas en un tarro de galletas o una pila de libros en una estantería. En la pila, la inserción y la extracción solo se pueden realizar en un extremo, es decir, en la parte superior de la pila. Por ejemplo, si queremos comer una galleta, primero tomaremos la de arriba, luego la 2 y así sucesivamente.

Esta publicación tratará sobre la implementación de stack en JavaScript. Como estamos trabajando con JavaScript, no nos preocuparemos por el tamaño de la pila, ya que el tamaño de los objetos de JavaScript puede crecer dinámicamente.







Implementación de Stack en JavaScript

Usaremos una clase de JavaScript para implementar la estructura de datos de la pila. los pila class contendrá una matriz en su constructor que se usará para almacenar elementos en la pila. La clase también definirá diferentes métodos que se utilizarán para manipular los datos almacenados dentro de la pila. Los métodos más básicos de la matriz son el insertar() y extracto() métodos que se utilizan para agregar y eliminar elementos de la parte superior de la pila.



los pila class también define otros métodos como ojeada() , esta vacio() , claro() , impresión() y Talla() también:



pila de clases {
constructor ( ) {

esto.elementos = [ ] ;

  }

  // Coloca un elemento en la parte superior de la pila.

insertar ( elemento ) {

este.elementos.push ( elemento ) ;

  }

  // Elimina un elemento de la parte superior de la pila.

extracto ( ) {

este.elementos.pop ( ) ;

  }

  // Devuelve el elemento superior de la pila.

ojeada ( ) {

    devolver este.elementos [ este.elementos.longitud - 1 ] ;

  }
  // cheques si la pila está vacía

esta vacio ( ) {

    devolver this.elements.length == 0 ;

  }

  // Imprime toda la pila

impresión ( ) {
    por ( dejar yo = 0 ; i < esta.longitud.de.elementos; yo ++ ) {
consola.log ( este.elementos [ i ] ) ;
    }
   
  }
  // Devuelve el Talla de la pila

  Talla ( ) {

    devolver esta.longitud.de.elementos;

  }

  // borra la pila

  claro ( ) {
esto.elementos = [ ] ;
  }

}

 





Empujar y sacar elementos de la pila

La operación más básica de la pila es insertar y extraer elementos de la parte superior de la pila. La clase de pila proporciona dos métodos para estas operaciones:


La primera línea del código mencionado anteriormente declara una nueva pila llamada s . Entonces el insertar() El método se usa para insertar cuatro elementos en la pila, dos de los cuales luego son eliminados por el extracto() método.



Cómo obtener el elemento superior de la pila

los pila clase define el ojeada() método para obtener el elemento superior de la pila:


¿Cómo comprobar si la pila está vacía?

La clase también define un método que se puede usar para verificar si la pila está vacía:


¿Cómo imprimir toda la pila?

los impresión() Se puede llamar al método para imprimir toda la pila.


¿Cómo comprobar el tamaño de la pila?

los Talla() método utiliza el .longitud propiedad para obtener el tamaño de la pila:


¿Cómo borrar toda la pila?

Simplemente invoque el claro() método para eliminar todos los elementos de la pila:

Conclusión

Las pilas son estructuras de datos útiles con muchas aplicaciones del mundo real, como el historial del navegador, el botón de deshacer en los editores de texto y los registros de llamadas. Todas estas aplicaciones siguen el principio LIFO, por ejemplo, el botón Atrás en el navegador regresa a la última página visitada y la primera entrada del registro de llamadas es siempre la última llamada.

La implementación de stack en JavaScript es realmente fácil ya que tiene el incorporado empujar y estallido Métodos para arreglos. Este artículo demuestra el proceso de implementación de la pila en JavaScript.