Implementatie van Stack in JavaScript

Implementatie Van Stack In Javascript



Stacks zijn lineaire datastructuren die het principe van LIFO volgen. LIFO staat voor last in first out, wat betekent dat het meest recent toegevoegde item het eerste is dat wordt verwijderd. Deze gegevensstructuur wordt stapel genoemd als een analogie met echte stapels, bijvoorbeeld een stapel koekjes in een koekjestrommel of een stapel boeken op een boekenplank. In de stapel kan het inbrengen en uitnemen slechts aan één uiteinde worden gedaan, d.w.z. de bovenkant van de stapel. Als we bijvoorbeeld een koekje willen eten, krijgen we eerst de bovenste en dan de 2e enzovoort.

Dit bericht gaat helemaal over de implementatie van stack in JavaScript. Omdat we met JavaScript werken, hoeven we ons geen zorgen te maken over de grootte van de stapel, omdat de grootte van de JavaScript-objecten dynamisch kan groeien.







Implementatie van Stack in JavaScript

We zullen een JavaScript-klasse gebruiken om de stapelgegevensstructuur te implementeren. De stapelen class zal een array in zijn constructor bevatten die zal worden gebruikt om elementen in de stapel op te slaan. De klasse zal ook verschillende methoden definiëren die zullen worden gebruikt om de gegevens die in de stapel zijn opgeslagen, te manipuleren. De meest elementaire methoden van de array zijn de invoegen() en extract() methoden die worden gebruikt om elementen aan de bovenkant van de stapel toe te voegen en te verwijderen.



De stapelen class definieert ook andere methoden zoals kijkje() , is leeg() , Doorzichtig() , afdrukken() en maat() ook:



klassenstapel {
constructeur ( ) {

deze.elementen = [ ] ;

}

// Plaatst een item bovenop de stapel

invoegen ( element ) {

deze.elementen.push ( element ) ;

}

// Verwijdert een item van de bovenkant van de stapel

extract ( ) {

deze.elementen.pop ( ) ;

}

// Retourneert het bovenste element van de stapel

kijkje ( ) {

opbrengst deze.elementen [ deze.elementen.lengte - 1 ] ;

}
// cheques als stapel is leeg

is leeg ( ) {

opbrengst deze.elementen.lengte == 0 ;

}

// Drukt de hele stapel af

afdrukken ( ) {
voor ( laten ik = 0 ; i < deze.elementen.lengte; ik++ ) {
console.log ( deze.elementen [ i ] ) ;
}

}
// Retourneert de maat van de stapel

maat ( ) {

opbrengst deze.elementen.lengte;

}

// ruimt de stapel op

Doorzichtig ( ) {
deze.elementen = [ ] ;
}

}





Elementen duwen en knallen van de stapel

De meest elementaire bewerking van de stapel is het invoegen en verwijderen van elementen vanaf de bovenkant van de stapel. De stack-klasse biedt twee methoden voor deze bewerkingen:


De eerste regel van de bovengenoemde code declareert een nieuwe stapel met de naam s . Dan de invoegen() methode wordt gebruikt om vier elementen in de stapel te plaatsen, waarvan er twee worden verwijderd door de extract() methode.



Hoe het bovenste element van de stapel te krijgen

De stapelen klasse definieert de kijkje() methode om het bovenste element van de stapel te krijgen:


Hoe controleer je of de stapel leeg is?

De klasse definieert ook een methode die kan worden gebruikt om te controleren of de stapel leeg is:


Hoe de hele stapel afdrukken?

De afdrukken() methode kan worden aangeroepen om de hele stapel af te drukken


Hoe de grootte van de stapel controleren?

De maat() methode maakt gebruik van de .lengte eigenschap om de grootte van de stapel te krijgen:


Hoe de hele stapel te wissen?

Roep eenvoudig de . aan Doorzichtig() methode om elk element van de stapel te verwijderen:

Conclusie

Stacks zijn handige datastructuren met veel real-world toepassingen zoals browsergeschiedenis, ongedaan maken-knop in teksteditors en oproeplogboeken. Al deze toepassingen volgen het LIFO-principe, bijv. de terugknop in de browser gaat terug naar de laatst bezochte pagina en de eerste invoer in het oproeplogboek is altijd de laatste oproep.

De implementatie van stack in JavaScript is heel eenvoudig omdat het de ingebouwde duw en knal methoden voor arrays. Dit artikel demonstreert het implementatieproces van stack in JavaScript.