Implementering av Stack i JavaScript

Implementering av Stack i JavaScript

Stabler er lineære datastrukturer som følger prinsippet om LIFO. LIFO står for sist i First Out, noe som betyr at den sist lagt til varen er den første som ble fjernet. Denne datastrukturen heter Stack som en analogi til den virkelige verden stabler e.g., En bunke med informasjonskapsler i en kakekrukke eller en bunke med bøker på en bokhylle. I stabelinnsetting og ekstraksjon kan bare gjøres i den ene enden I.e., toppen av stabelen. Hvis vi for eksempel vil spise en informasjonskapsel, vil vi først få den øverste og deretter den andre og så videre.

Dette innlegget vil handle om implementering av Stack i JavaScript. Mens 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 Stack -datastrukturen. De stable Klassen vil inneholde en matrise i konstruktøren som skal brukes til å lagre elementer i bunken. 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 som Peek (), er tom(), klar(), skrive ut() og størrelse() også:

Klassestabel
konstruktør ()
dette.elementer = [];

// plasserer et element på toppen av stabelen
sett inn (element)
dette.elementer.push (element);

// fjerner et element fra toppen av stabelen
ekstrakt()
dette.elementer.pop ();

// Returnerer det øverste elementet i stabelen
Peek ()
Returner dette.elementer [dette.elementer.lengde - 1];

// sjekker hvis stabelen er tom
er tom()
Returner dette.elementer.lengde == 0;

// skriver ut hele stabelen
skrive ut()
for (la i = 0; i < this.elements.length; i++)
konsoll.Logg (dette.elementer [i]);


// returnerer størrelsen på bunken
størrelse ()
Returner dette.elementer.lengde;

// tømmer bunken
klar ()
dette.elementer = [];

Skyve og poppe elementer fra stabelen

Den mest grunnleggende driften av stabelen er å sette inn og trekke ut elementer fra toppen av bunken. Stabelklassen gir to metoder for disse operasjonene:


Den første linjen i den ovennevnte koden erklærer en ny stabel som heter 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 Peek () 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() Metode kan kalles for å skrive ut hele stabelen


Hvordan sjekke størrelsen på stabelen?

De størrelse() Metode bruker .lengde Eiendom 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 applikasjoner i den virkelige verden som nettleserhistorikk, angre knapp i tekstredaktører og samtalelogger. Alle disse applikasjonene følger LIFO -prinsippet E.g., Tilbake -knappen i nettleseren tar tilbake til den siste besøkte siden, og den første oppføringen av samtaleloggen er alltid den siste samtalen.

Implementeringen av Stack i JavaScript er veldig enkel, ettersom den har innebygd trykk og pop Metoder for matriser. Denne artikkelen demonstrerer prosessen med implementering av Stack i JavaScript.