Implementierung von Stack in JavaScript

Implementierung Von Stack In Javascript



Stacks sind lineare Datenstrukturen, die dem LIFO-Prinzip folgen. LIFO steht für last in first out, was bedeutet, dass das zuletzt hinzugefügte Element als erstes entfernt wird. Diese Datenstruktur wird Stapel genannt als Analogie zu realen Stapeln, z. B. einem Stapel Kekse in einer Keksdose oder einem Stapel Bücher auf einem Bücherregal. Beim Stapeln kann das Einsetzen und Herausziehen nur an einem Ende erfolgen, d. h. an der Oberseite des Stapels. Wenn wir zum Beispiel einen Keks essen wollen, bekommen wir zuerst den obersten und dann den zweiten und so weiter.

In diesem Beitrag dreht sich alles um die Implementierung von Stack in JavaScript. Da wir mit JavaScript arbeiten, machen wir uns keine Gedanken über die Größe des Stacks, da die Größe der JavaScript-Objekte dynamisch wachsen kann.







Implementierung von Stack in JavaScript

Wir werden eine JavaScript-Klasse verwenden, um die Stack-Datenstruktur zu implementieren. Das Stapel Die Klasse enthält ein Array in ihrem Konstruktor, das zum Speichern von Elementen im Stapel verwendet wird. Die Klasse wird auch verschiedene Methoden definieren, die verwendet werden, um die im Stack gespeicherten Daten zu manipulieren. Die grundlegendsten Methoden des Arrays sind die Einfügung() und Extrakt() Methoden, die zum Hinzufügen und Entfernen von Elementen von der Spitze des Stapels verwendet werden.



Das Stapel Die Klasse definiert auch andere Methoden wie z spähen() , ist leer() , klar() , drucken() und Größe() auch:



Klasse Stapel {
Konstrukteur ( ) {

this.elements = [ ] ;

}

// Legt einen Gegenstand oben auf den Stapel

Einfügung ( Element ) {

this.elements.push ( Element ) ;

}

// Entfernt ein Element von der Spitze des Stapels

Extrakt ( ) {

this.elements.pop ( ) ;

}

// Gibt das oberste Element des Stapels zurück

spähen ( ) {

Rückkehr this.elements [ this.elements.length - 1 ] ;

}
// Schecks wenn Stapel ist leer

ist leer ( ) {

Rückkehr this.elements.length == 0 ;

}

// Druckt den gesamten Stapel

drucken ( ) {
zum ( Lassen ich = 0 ; ich < this.elements.length; i++ ) {
Konsole.log ( this.elements [ ich ] ) ;
}

}
// Gibt die zurück Größe des Stapels

Größe ( ) {

Rückkehr this.elements.length;

}

// löscht den Stack

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

}





Schieben und Poppen von Elementen aus dem Stapel

Die grundlegendste Operation des Stacks besteht darin, Elemente von der Oberseite des Stacks einzufügen und zu extrahieren. Die Stack-Klasse bietet zwei Methoden für diese Operationen:


Die erste Zeile des oben genannten Codes deklariert einen neuen Stack namens s . Dann ist die Einfügung() Bei dieser Methode werden vier Elemente in den Stapel eingefügt, von denen dann zwei entfernt werden Extrakt() Methode.



So erhalten Sie das oberste Element vom Stapel

Das Stapel Klasse definiert die spähen() Methode, um das oberste Element aus dem Stapel zu erhalten:


Wie überprüfe ich, ob der Stack leer ist?

Die Klasse definiert auch eine Methode, mit der überprüft werden kann, ob der Stack leer ist:


Wie drucke ich den ganzen Stapel?

Das drucken() -Methode aufgerufen werden, um den gesamten Stapel zu drucken


Wie überprüfe ich die Größe des Stapels?

Das Größe() Methode verwendet die .Länge Eigenschaft, um die Größe des Stapels zu erhalten:


Wie lösche ich den ganzen Stack?

Rufen Sie einfach die auf klar() Methode, um jedes Element des Stapels zu entfernen:

Fazit

Stapel sind nützliche Datenstrukturen mit vielen realen Anwendungen wie Browserverlauf, Rückgängig-Schaltfläche in Texteditoren und Anrufprotokollen. Alle diese Anwendungen folgen dem LIFO-Prinzip, z. B. führt der Zurück-Button im Browser zurück zur zuletzt besuchten Seite und der erste Eintrag der Anrufliste ist immer der letzte Anruf.

Die Implementierung von Stack in JavaScript ist wirklich einfach, da es die eingebaute drücken und Pop Methoden für Arrays. Dieser Artikel demonstriert den Implementierungsprozess von Stack in JavaScript.