Implementació de Stack en JavaScript

Implementacio De Stack En Javascript



Les piles són estructures de dades lineals que segueixen el principi de LIFO. LIFO significa l'últim en entrar, el que significa que l'element afegit més recentment és el primer que s'elimina. Aquesta estructura de dades s'anomena pila com una analogia amb les piles del món real, per exemple, una pila de galetes en un pot de galetes o una pila de llibres en una prestatgeria. A la pila, la inserció i l'extracció només es poden fer en un extrem, és a dir, a la part superior de la pila. Per exemple, si ens volem menjar una galeta, en sortirem primer la de dalt i després la segona i així successivament.

Aquesta publicació tractarà sobre la implementació de la pila en JavaScript. Com que estem treballant amb JavaScript, no ens preocuparà la mida de la pila, ja que la mida dels objectes de JavaScript pot créixer dinàmicament.







Implementació de Stack en JavaScript

Utilitzarem una classe JavaScript per implementar l'estructura de dades de la pila. El pila class contindrà una matriu al seu constructor que s'utilitzarà per emmagatzemar elements a la pila. La classe també definirà diferents mètodes que s'utilitzaran per manipular les dades emmagatzemades dins de la pila. Els mètodes més bàsics de la matriu són els inserir () i extracte () mètodes que s'utilitzen per afegir i eliminar elements de la part superior de la pila.



El pila class també defineix altres mètodes com ara ullada() , està buit() , clar () , imprimir() i mida () també:



pila de classes {
constructor ( ) {

això.elements = [ ] ;

}

// Col·loca un element a la part superior de la pila

inserir ( element ) {

això.elements.empènyer ( element ) ;

}

// Elimina un element de la part superior de la pila

extracte ( ) {

aquest.elements.pop ( ) ;

}

// Retorna l'element superior de la pila

ullada ( ) {

tornar aquest.elements [ longitud.estes.elements - 1 ] ;

}
// xecs si la pila està buida

està buit ( ) {

tornar aquesta.longitud.elements == 0 ;

}

// Imprimeix tota la pila

imprimir ( ) {
per ( deixar i = 0 ; i < aquesta.longitud.elements; i++ ) {
console.log ( aquest.elements [ i ] ) ;
}

}
// Retorna el mida de la pila

mida ( ) {

tornar aquesta.longitud.elements;

}

// esborra la pila

clar ( ) {
això.elements = [ ] ;
}

}





Empènyer i fer esclatar elements de la pila

L'operació més bàsica de la pila és inserir i extreure elements de la part superior de la pila. La classe stack proporciona dos mètodes per a aquestes operacions:


La primera línia del codi esmentat anteriorment declara una nova pila anomenada s . Aleshores el inserir () El mètode s'utilitza per inserir quatre elements a la pila, dos dels quals s'eliminen després extracte () mètode.



Com treure l'element superior de la pila

El pila classe defineix el ullada() mètode per obtenir l'element superior de la pila:


Com comprovar si la pila està buida?

La classe també defineix un mètode que es pot utilitzar per comprovar si la pila està buida:


Com imprimir tota la pila?

El imprimir() Es pot cridar al mètode per imprimir tota la pila


Com comprovar la mida de la pila?

El mida () mètode utilitza el .llargada propietat per obtenir la mida de la pila:


Com esborrar tota la pila?

Simplement invoca el clar () mètode per eliminar tots els elements de la pila:

Conclusió

Les piles són estructures de dades útils amb moltes aplicacions del món real, com ara l'historial del navegador, el botó desfer als editors de text i els registres de trucades. Totes aquestes aplicacions segueixen el principi LIFO, per exemple, el botó enrere del navegador torna a la darrera pàgina visitada i la primera entrada del registre de trucades és sempre l'última trucada.

La implementació de la pila a JavaScript és molt senzilla, ja que té incorporat empènyer i pop mètodes per a matrius. Aquest article mostra el procés d'implementació de la pila en JavaScript.