Implementering av Stack i JavaScript

Implementering Av Stack I Javascript



Stackar är linjära datastrukturer som följer LIFO-principen. LIFO står för sist in först ut vilket betyder att det senast tillagda föremålet är det första som tas bort. Denna datastruktur kallas stack som en analogi till verkliga stackar, t.ex. en bunt kakor i en kakburk eller en bunt böcker i en bokhylla. I stack kan insättning och extraktion endast göras i ena änden, dvs toppen av stapeln. Om vi ​​till exempel vill äta en kaka får vi den översta först och sedan den andra och så vidare.

Det här inlägget kommer att handla om implementeringen av stack i JavaScript. Eftersom vi arbetar med JavaScript kommer vi inte att vara oroliga för storleken på stacken eftersom storleken på JavaScript-objekten kan växa dynamiskt.







Implementering av Stack i JavaScript

Vi kommer att använda en JavaScript-klass för att implementera stackdatastrukturen. De stack klass kommer att innehålla en array i sin konstruktor som kommer att användas för att lagra element i stacken. Klassen kommer också att definiera olika metoder som kommer att användas för att manipulera data som lagras inuti stacken. De mest grundläggande metoderna för arrayen är Föra in() och extrahera() metoder som används för att lägga till och ta bort element från toppen av stacken.



De stack klass definierar även andra metoder som t.ex titt() , är tom() , klar() , skriva ut() och storlek() också:



klass stack {
konstruktör ( ) {

this.elements = [ ] ;

}

// Placerar ett föremål ovanpå högen

Föra in ( element ) {

detta.element.push ( element ) ;

}

// Tar bort ett objekt från toppen av stapeln

extrahera ( ) {

detta.element.pop ( ) ;

}

// Returnerar det översta elementet i stacken

titt ( ) {

lämna tillbaka detta.element [ this.elements.length - 1 ] ;

}
// Checkar om stacken är tom

är tom ( ) {

lämna tillbaka this.elements.length == 0 ;

}

// Skriver ut hela stapeln

skriva ut ( ) {
för ( låta jag = 0 ; i < this.elements.length; i++ ) {
console.log ( detta.element [ i ] ) ;
}

}
// Returnerar storlek av stapeln

storlek ( ) {

lämna tillbaka this.elements.length;

}

// rensar stacken

klar ( ) {
this.elements = [ ] ;
}

}





Pushing och Popping element från stapeln

Den mest grundläggande operationen av stapeln är att sätta in och extrahera element från toppen av stapeln. Stackklassen tillhandahåller två metoder för dessa operationer:


Den första raden i den ovan nämnda koden deklarerar en ny stack som heter s . Sedan Föra in() metod används för att infoga fyra element i stacken, varav två tas bort av extrahera() metod.



Hur man får det översta elementet från stapeln

De stack klass definierar titt() metod för att få det översta elementet från stacken:


Hur kontrollerar man om stacken är tom?

Klassen definierar också en metod som kan användas för att kontrollera om stacken är tom:


Hur skriver man ut hela stapeln?

De skriva ut() metod kan anropas för att skriva ut hela stacken


Hur kontrollerar man stapelns storlek?

De storlek() metoden använder .längd egenskap för att få storleken på stacken:


Hur rensar man hela stacken?

Anropa helt enkelt klar() metod för att ta bort varje element i stacken:

Slutsats

Stackar är användbara datastrukturer med många verkliga applikationer som webbläsarhistorik, ångra-knapp i textredigerare och samtalsloggar. Alla dessa applikationer följer LIFO-principen, t.ex. tillbaka-knappen i webbläsaren går tillbaka till den senast besökta sidan och den första inmatningen i samtalsloggen är alltid det senaste samtalet.

Implementeringen av stack i JavaScript är verkligen lätt eftersom den har den inbyggda tryck och pop- metoder för arrayer. Den här artikeln visar processen för implementering av stack i JavaScript.