Was ist Stack in C #?
Der Stack ist eine Sonderfallsammlung, die ein LIFO-Konzept (Last In First Out) darstellt. Um LIFO zuerst zu verstehen, nehmen wir ein Beispiel. Stellen Sie sich einen Stapel Bücher vor, wobei jedes Buch übereinander liegt.
Das Konzept von last in first out bei Büchern bedeutet, dass nur das oberste Buch aus dem Bücherstapel entfernt werden kann. Es ist nicht möglich, ein Buch dazwischen zu entfernen, da dies die Einstellung des Stapels stören würde.
Daher funktioniert der Stapel in C # auf die gleiche Weise. Dem Stapel werden Elemente hinzugefügt, die übereinander liegen. Das Hinzufügen eines Elements zum Stapel wird als Push-Operation bezeichnet. Um ein Element von einem Stapel zu entfernen, können Sie auch das oberste Element des Stapels entfernen. Diese Operation wird als Pop bezeichnet.
Schauen wir uns die für die Stack-Auflistung verfügbaren Vorgänge genauer an.
Deklaration des Stapels
Mit Hilfe des Stack-Datentyps wird ein Stack erstellt. Das Schlüsselwort "neu" wird verwendet, um ein Objekt eines Stapels zu erstellen. Das Objekt wird dann der Variablen st zugeordnet.
Stack st = new Stack()
Hinzufügen von Elementen zum Stapel
Die Push-Methode wird verwendet, um dem Stapel ein Element hinzuzufügen. Die allgemeine Syntax der Anweisung ist unten angegeben.
Stack.push(element)
Elemente aus dem Stapel entfernen
Die Pop-Methode wird verwendet, um ein Element vom Stapel zu entfernen. Die Pop-Operation gibt das oberste Element des Stapels zurück. Die allgemeine Syntax der Anweisung ist unten angegeben
Stack.pop()
Anzahl
Diese Eigenschaft wird verwendet, um die Anzahl der Elemente im Stapel abzurufen. Nachfolgend finden Sie die allgemeine Syntax dieser Anweisung.
Stack.Count
Enthält
Diese Methode wird verwendet, um festzustellen, ob ein Element im Stapel vorhanden ist. Nachfolgend finden Sie die allgemeine Syntax dieser Anweisung. Die Anweisung gibt true zurück, wenn das Element vorhanden ist, andernfalls gibt sie den Wert false zurück.
Stack.Contains(element)
Lassen Sie uns nun sehen, wie dies auf Codeebene funktioniert. Der gesamte unten genannte Code wird in unsere Konsolenanwendung geschrieben. Der Code wird in unsere Program.cs-Datei geschrieben.
Im folgenden Programm werden wir den Code schreiben, um zu sehen, wie wir die oben genannten Methoden verwenden können.
Beispiel 1
In diesem Beispiel werden wir sehen
- Wie ein Stapel erstellt wird.
- So zeigen Sie die Elemente des Stapels an und verwenden die Methoden Count und Contain.
using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Program{static void Main(string[] args){Stack st = new Stack();st.Push(1);st.Push(2);st.Push(3);foreach (Object obj in st){Console.WriteLine(obj);}Console.WriteLine(); Console.WriteLine();Console.WriteLine("The number of elements in the stack " +st.Count);Console.WriteLine("Does the stack contain the elements 3 "+st.Contains(3));Console.ReadKey();}}}
Code Erläuterung: -
- Der erste Schritt wird verwendet, um den Stapel zu deklarieren. Hier deklarieren wir "st" als Variable, um die Elemente unseres Stapels zu halten.
- Als nächstes fügen wir unserem Stapel 3 Elemente hinzu. Jedes Element wird über die Push-Methode hinzugefügt.
- Da auf die Stapelelemente nicht wie in der Array-Liste über die Indexposition zugegriffen werden kann, müssen wir einen anderen Ansatz verwenden, um die Elemente des Stapels anzuzeigen. Das Objekt (obj) ist eine temporäre Variable, die zum Halten jedes Elements des Stapels deklariert ist. Wir verwenden dann die foreach-Anweisung, um jedes Element des Stapels durchzugehen. Für jedes Stapelelement wird der Wert der Variablen obj zugewiesen. Anschließend verwenden wir den Befehl Console.Writeline, um den Wert für die Konsole anzuzeigen.
- Wir verwenden die Count-Eigenschaft ( st.count ), um die Anzahl der Elemente im Stapel abzurufen . Diese Eigenschaft gibt eine Nummer zurück. Wir zeigen diesen Wert dann der Konsole an.
- Wir verwenden dann die Contains-Methode, um festzustellen, ob der Wert 3 in unserem Stapel vorhanden ist. Dies gibt entweder einen wahren oder einen falschen Wert zurück. Wir zeigen diesen Rückgabewert dann der Konsole an.
Wenn der obige Code richtig eingegeben und das Programm ausgeführt wird, wird die folgende Ausgabe angezeigt.
Ausgabe:
An der Ausgabe können wir sehen, dass die Elemente des Stapels angezeigt werden. Außerdem wird der Wert True angezeigt, um anzuzeigen, dass der Wert 3 auf dem Stapel definiert ist.
Hinweis : Sie haben festgestellt, dass das letzte auf den Stapel geschobene Element zuerst angezeigt wird. Dies ist das oberste Element des Stapels. Die Anzahl der Stapelelemente wird auch in der Ausgabe angezeigt.
Beispiel 2
Schauen wir uns nun die Funktion "Entfernen" an. Wir werden den Code sehen, der erforderlich ist, um das oberste Element vom Stapel zu entfernen.
using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Program{static void Main(string[] args){Stack st = new Stack();st.Push(1);st.Push(2);st.Push(3);st.Pop();foreach (Object obj in st){Console.WriteLine(obj);}Console.ReadKey();}}}
Code Erläuterung: -
- Hier geben wir nur die Pop-Methode aus, mit der ein Element aus dem Stapel entfernt wird.
Wenn der obige Code richtig eingegeben und das Programm ausgeführt wird, wird die folgende Ausgabe angezeigt.
Ausgabe:
Wir können sehen, dass das Element 3 vom Stapel entfernt wurde.
Zusammenfassung
- Ein Stack basiert auf dem Last-In-First-Out-Konzept. Die Operation zum Hinzufügen eines Elements zum Stapel wird als Push-Operation bezeichnet. Die Operation zum Entfernen eines Elements aus dem Stapel wird als Pop-Operation bezeichnet.