Stacki juurutamine JavaScriptis

Stacki Juurutamine Javascriptis



Virnad on lineaarsed andmestruktuurid, mis järgivad LIFO põhimõtet. LIFO tähistab viimasena esimesena väljas, mis tähendab, et viimati lisatud üksus eemaldatakse esimesena. Seda andmestruktuuri nimetatakse virnaks analoogia põhjal pärismaailma virnadega, nt küpsisevirn küpsisepurgis või virn raamatuid raamaturiiulil. Virnas saab sisestada ja välja tõmmata ainult ühes otsas, st virna ülaosas. Näiteks kui tahame küpsist süüa, saame kõigepealt ülemise ja seejärel teise ja nii edasi.

See postitus käsitleb virna rakendamist JavaScriptis. Kuna töötame JavaScriptiga, ei pea me virna suuruse pärast muretsema, kuna JavaScripti objektide suurus võib dünaamiliselt kasvada.







Stacki juurutamine JavaScriptis

Virna andmestruktuuri rakendamiseks kasutame JavaScripti klassi. The virna klass sisaldab oma konstruktoris massiivi, mida kasutatakse virna elementide salvestamiseks. Klass määratleb ka erinevad meetodid, mida kasutatakse virna sees salvestatud andmetega manipuleerimiseks. Massiivi kõige põhilisemad meetodid on insert () ja ekstrakt () meetodid, mida kasutatakse elementide lisamiseks ja eemaldamiseks virna ülaosast.



The virna klass määratleb ka muid meetodeid, nagu piiluma () , on tühi() , selge () , print() ja suurus () samuti:



klassi virn {
konstruktor ( ) {

see.elemendid = [ ] ;

}

// Asetab üksuse virna peale

sisestada ( element ) {

this.elements.push ( element ) ;

}

// Eemaldab üksuse virna ülaosast

väljavõte ( ) {

see.elemendid.pop ( ) ;

}

// Tagastab virna kõige ülemise elemendi

piiluma ( ) {

tagasi see.elemendid [ this.elements.length - 1 ] ;

}
// Kontrollid kui virn on tühi

on tühi ( ) {

tagasi see.elemendid.pikkus == 0 ;

}

// Prindib kogu virna

printida ( ) {
jaoks ( lase i = 0 ; i < see.elemendid.pikkus; i++ ) {
console.log ( see.elemendid [ i ] ) ;
}

}
// Tagastab suurus virnast

suurus ( ) {

tagasi see.elemendid.pikkus;

}

// puhastab virna

selge ( ) {
see.elemendid = [ ] ;
}

}





Elementide virnast lükkamine ja poputamine

Virna kõige elementaarsem toiming on elementide sisestamine ja eemaldamine virna ülaosast. Virna klass pakub nende toimingute jaoks kahte meetodit:


Ülalmainitud koodi esimene rida deklareerib uue pinu nimega s . Siis insert () meetodit kasutatakse nelja elemendi sisestamiseks virna, millest kaks eemaldatakse seejärel ekstrakt () meetod.



Kuidas ülemine element virnast kätte saada

The virna klass määratleb piiluma () meetod ülemise elemendi virnast hankimiseks:


Kuidas kontrollida, kas virn on tühi?

Klass määratleb ka meetodi, mille abil saab kontrollida, kas virn on tühi:


Kuidas printida kogu virn?

The print() meetodit saab kutsuda kogu virna printimiseks


Kuidas kontrollida virna suurust?

The suurus () meetod kasutab .pikkus atribuut virna suuruse saamiseks:


Kuidas kogu pinu tühjendada?

Lihtsalt kutsuge esile selge () meetod virna iga elemendi eemaldamiseks:

Järeldus

Virnad on kasulikud andmestruktuurid paljude reaalmaailma rakendustega, nagu brauseri ajalugu, tagasivõtmisnupp tekstiredaktorites ja kõnelogid. Kõik need rakendused järgivad LIFO põhimõtet, nt brauseri tagasinupp viib tagasi viimati külastatud lehele ja kõnelogi esimene kirje on alati viimane kõne.

Viru rakendamine JavaScriptis on väga lihtne, kuna sellel on sisseehitatud suruma ja pop meetodid massiivide jaoks. See artikkel demonstreerib virna juurutamise protsessi JavaScriptis.