Stack ieviešana JavaScript

Stack Ieviesana Javascript



Stacki ir lineāras datu struktūras, kas atbilst LIFO principam. LIFO apzīmē pēdējo pirmo, kas nozīmē, ka pēdējais pievienotais vienums ir pirmais, kas tiek noņemts. Šī datu struktūra ir nosaukta par kaudzi kā analoģiju reālās pasaules kaudzēm, piemēram, sīkfailu kaudze sīkfailu burkā vai grāmatu kaudze grāmatplauktā. Kaudzē ievietošanu un izņemšanu var veikt tikai vienā galā, t.i., kaudzes augšpusē. Piemēram, ja mēs vēlamies ēst cepumu, mēs vispirms saņemsim augšējo, pēc tam otro un tā tālāk.

Šī ziņa būs par steka ieviešanu JavaScript. Strādājot ar JavaScript, mēs neuztraucamies par steka lielumu, jo JavaScript objektu lielums var dinamiski pieaugt.







Stack ieviešana JavaScript

Lai ieviestu steka datu struktūru, mēs izmantosim JavaScript klasi. The kaudze klase savā konstruktorā saturēs masīvu, kas tiks izmantots elementu glabāšanai kaudzē. Klase arī definēs dažādas metodes, kas tiks izmantotas, lai manipulētu ar stekā saglabātajiem datiem. Visvienkāršākās masīva metodes ir ievietot () un ekstrakts() metodes, kas tiek izmantotas, lai pievienotu un noņemtu elementus no steka augšdaļas.



The kaudze klase definē arī citas metodes, piemēram palūrēt () , ir tukšs() , skaidrs () , drukāt () un Izmērs() arī:



klases kaudze {
konstruktors ( ) {

šo.elementi = [ ] ;

}

// Novieto vienumu kaudzes augšpusē

ievietot ( elements ) {

this.elements.push ( elements ) ;

}

// Noņem vienumu no kaudzes augšdaļas

ekstrakts ( ) {

this.elements.pop ( ) ;

}

// Atgriež kaudzītes augšējo visvairāk elementu

palūrēt ( ) {

atgriezties šo.elementi [ this.elements.length — 1 ] ;

}
// Pārbaudes ja kaudze ir tukša

ir tukšs ( ) {

atgriezties šis.elementi.garums == 0 ;

}

// Drukā visu kaudzi

drukāt ( ) {
priekš ( ļaut i = 0 ; i < this.elements.length; i++ ) {
console.log ( šo.elementi [ i ] ) ;
}

}
// Atgriež Izmērs no kaudzes

Izmērs ( ) {

atgriezties this.elements.length;

}

// notīra kaudzi

skaidrs ( ) {
šo.elementi = [ ] ;
}

}





Elementu stumšana un izgrūšana no kaudzes

Visvienkāršākā skursteņa darbība ir elementu ievietošana un izņemšana no kaudzes augšdaļas. Steka klase nodrošina divas metodes šīm darbībām:


Iepriekš minētā koda pirmajā rindā tiek deklarēta jauna steka ar nosaukumu s . Tad ievietot () metode tiek izmantota, lai kaudzē ievietotu četrus elementus, no kuriem divus pēc tam noņem ekstrakts() metodi.



Kā iegūt augšējo elementu no kaudzes

The kaudze klase definē palūrēt () metode, kā iegūt augšējo elementu no kaudzes:


Kā pārbaudīt, vai kaudze ir tukša?

Klase arī definē metodi, ko var izmantot, lai pārbaudītu, vai kaudze ir tukša:


Kā izdrukāt visu kaudzi?

The drukāt () metodi var izsaukt, lai izdrukātu visu kaudzi


Kā pārbaudīt kaudzes izmēru?

The Izmērs() metode izmanto .garums īpašība, lai iegūtu kaudzes lielumu:


Kā notīrīt visu kaudzi?

Vienkārši izsauciet skaidrs () metode katra kaudzes elementa noņemšanai:

Secinājums

Stacks ir noderīgas datu struktūras ar daudzām reālajām lietojumprogrammām, piemēram, pārlūkprogrammas vēsturi, atsaukšanas pogu teksta redaktoros un zvanu žurnālus. Visas šīs lietojumprogrammas ievēro LIFO principu, piemēram, pārlūkprogrammas poga Atpakaļ atgriežas uz pēdējo apmeklēto lapu, un pirmais zvanu žurnāla ieraksts vienmēr ir pēdējais zvans.

Kaudzītes ieviešana JavaScript ir ļoti vienkārša, jo tajā ir iebūvēta spiediet un pop metodes masīviem. Šajā rakstā ir parādīts steka ieviešanas process JavaScript.