Implementering af Stack i JavaScript

Implementering Af Stack I Javascript



Stabler er lineære datastrukturer, som følger princippet om LIFO. LIFO står for sidst ind først ud, hvilket betyder, at det senest tilføjede element er det første, der skal fjernes. Denne datastruktur kaldes stak som en analogi til stakke i den virkelige verden, f.eks. en stak cookies i en kagedåse eller en stak bøger på en bogreol. I stakken kan indsættelse og udtrækning kun udføres i den ene ende, dvs. toppen af ​​stakken. For eksempel, hvis vi vil spise en småkage, får vi først den øverste og derefter den anden og så videre.

Dette indlæg vil handle om implementeringen af ​​stack i JavaScript. Da vi arbejder med JavaScript, vil vi ikke være bekymrede for størrelsen af ​​stakken, da størrelsen af ​​JavaScript-objekterne kan vokse dynamisk.







Implementering af Stack i JavaScript

Vi vil bruge en JavaScript-klasse til at implementere stakdatastrukturen. Det stak klasse vil indeholde et array i sin konstruktør, som vil blive brugt til at gemme elementer i stakken. Klassen vil også definere forskellige metoder, som vil blive brugt til at manipulere de data, der er gemt inde i stakken. De mest grundlæggende metoder i arrayet er indsæt() og uddrag() metoder, der bruges til at tilføje og fjerne elementer fra toppen af ​​stakken.



Det stak klasse definerer også andre metoder som f.eks kig() , er tom() , klar() , Print() og størrelse() såvel:



klasse stak {
konstruktør ( ) {

dette.elementer = [ ] ;

}

// Placerer et emne oven på stakken

indsætte ( element ) {

dette.elementer.skub ( element ) ;

}

// Fjerner et element fra toppen af ​​stakken

uddrag ( ) {

denne.elementer.pop ( ) ;

}

// Returnerer det øverste element i stakken

kig ( ) {

Vend tilbage dette.elementer [ this.elements.length - 1 ] ;

}
// Checks hvis stakken er tom

er tom ( ) {

Vend tilbage this.elements.length == 0 ;

}

// Udskriver hele stakken

Print ( ) {
til ( lade i = 0 ; jeg < denne.elementer.længde; i++ ) {
console.log ( dette.elementer [ jeg ] ) ;
}

}
// Returnerer størrelse af stakken

størrelse ( ) {

Vend tilbage denne.elementer.længde;

}

// rydder stakken

klar ( ) {
dette.elementer = [ ] ;
}

}





Skubbende og poppende elementer fra stakken

Den mest grundlæggende betjening af stakken er at indsætte og udtrække elementer fra toppen af ​​stakken. Stakklassen giver to metoder til disse operationer:


Den første linje i den ovennævnte kode erklærer en ny stack navngivet s . Derefter indsæt() metode bruges til at indsætte fire elementer i stakken, hvoraf to derefter fjernes af uddrag() metode.



Sådan får du det øverste element fra stakken

Det stak klasse definerer kig() metode til at få det øverste element fra stakken:


Hvordan kontrollerer man, om stakken er tom?

Klassen definerer også en metode, som kan bruges til at kontrollere, om stakken er tom:


Hvordan udskriver man hele stakken?

Det Print() metode kan kaldes til at udskrive hele stakken


Hvordan kontrollerer man stakkens størrelse?

Det størrelse() metoden bruger .længde egenskab for at få størrelsen på stakken:


Hvordan rydder man hele stakken?

Du skal blot påberåbe klar() metode til at fjerne hvert element i stakken:

Konklusion

Stabler er nyttige datastrukturer med mange applikationer fra den virkelige verden, såsom browserhistorik, fortryd-knap i teksteditorer og opkaldslogger. Alle disse applikationer følger LIFO-princippet, f.eks. vender tilbage-knappen i browseren tilbage til den sidst besøgte side, og den første indtastning af opkaldsloggen er altid det seneste opkald.

Implementeringen af ​​stack i JavaScript er virkelig nem, da den har det indbyggede skubbe og pop metoder til arrays. Denne artikel demonstrerer processen med implementering af stak i JavaScript.