Stabler er lineære datastrukturer som følger LIFO-prinsippet. LIFO står for sist inn først ut, noe som betyr at det sist lagt til elementet er det første som skal fjernes. Denne datastrukturen kalles stabel som en analogi til stabler i den virkelige verden, for eksempel en stabel med informasjonskapsler i en kakeboks eller en stabel med bøker i en bokhylle. I stabel kan innsetting og ekstraksjon bare gjøres i den ene enden, dvs. toppen av stabelen. For eksempel, hvis vi ønsker å spise en informasjonskapsel, får vi den øverste først og deretter den andre og så videre.
Dette innlegget vil handle om implementeringen av stack i JavaScript. Når vi jobber med JavaScript, vil vi ikke være bekymret for størrelsen på stabelen ettersom størrelsen på JavaScript-objektene kan vokse dynamisk.
Implementering av Stack i JavaScript
Vi vil bruke en JavaScript-klasse for å implementere stackdatastrukturen. De stable klasse vil inneholde en matrise i sin konstruktør som vil bli brukt til å lagre elementer i stabelen. Klassen vil også definere forskjellige metoder som vil bli brukt til å manipulere dataene som er lagret inne i stabelen. De mest grunnleggende metodene for matrisen er sett inn() og ekstrakt() metoder som brukes til å legge til og fjerne elementer fra toppen av stabelen.
De stable klasse definerer også andre metoder som f.eks kikke() , er tom() , klar() , skrive ut() og størrelse() også:
klassestabel {
konstruktør ( ) {
dette.elementer = [ ] ;
}
// Plasserer et element på toppen av stabelen
sett inn ( element ) {
denne.elementene.push ( element ) ;
}
// Fjerner et element fra toppen av stabelen
ekstrakt ( ) {
denne.elementer.pop ( ) ;
}
// Returnerer det øverste elementet i stabelen
titt ( ) {
komme tilbake dette.elementer [ this.elements.length - 1 ] ;
}
// Sjekker hvis stabelen er tom
er tom ( ) {
komme tilbake this.elements.length == 0 ;
}
// Skriver ut hele stabelen
skrive ut ( ) {
til ( la jeg = 0 ; Jeg < denne.elementene.lengde; i++ ) {
console.log ( dette.elementer [ Jeg ] ) ;
}
}
// Returnerer størrelse av stabelen
størrelse ( ) {
komme tilbake denne.elementene.lengde;
}
// rydder stabelen
klar ( ) {
dette.elementer = [ ] ;
}
}
Skyve og poppe elementer fra stabelen
Den mest grunnleggende operasjonen til stabelen er å sette inn og trekke ut elementer fra toppen av stabelen. Stabelklassen gir to metoder for disse operasjonene:
Den første linjen i den ovennevnte koden erklærer en ny stabel kalt s . Og så sett inn() metoden brukes til å sette inn fire elementer i stabelen, hvorav to deretter fjernes av ekstrakt() metode.
Hvordan få toppelementet fra stabelen
De stable klasse definerer kikke() metode for å få toppelementet fra stabelen:
Hvordan sjekke om stabelen er tom?
Klassen definerer også en metode som kan brukes til å sjekke om stabelen er tom:
Hvordan skrive ut hele stabelen?
De skrive ut() metoden kan kalles for å skrive ut hele stabelen
Hvordan sjekke størrelsen på stabelen?
De størrelse() metoden bruker .lengde egenskap for å få størrelsen på stabelen:
Hvordan tømme hele stabelen?
Bare påkalle klar() metode for å fjerne hvert element i stabelen:
Konklusjon
Stabler er nyttige datastrukturer med mange virkelige applikasjoner som nettleserhistorikk, angreknapp i tekstredigering og anropslogger. Alle disse applikasjonene følger LIFO-prinsippet, for eksempel går tilbake-knappen i nettleseren tilbake til den sist besøkte siden og den første oppføringen i anropsloggen er alltid den siste anropet.
Implementeringen av stack i JavaScript er veldig enkel siden den har innebygd trykk og pop metoder for arrays. Denne artikkelen demonstrerer prosessen med implementering av stack i JavaScript.