C#-Stack mit Push- und Pop-Beispielen
Was ist Stack in C#?
Der Stack ist eine Sonderfallkollektion, die ein Last-In-First-Out-Konzept (LIFO) darstellt. Um LIFO zuerst zu verstehen, nehmen wir ein Beispiel. Stellen Sie sich einen Stapel Bücher vor, bei denen jedes Buch übereinander liegt.
Das Last-In-First-Out-Konzept bei Büchern bedeutet, dass nur das oberste Buch aus dem Bücherstapel entnommen werden kann. Es ist nicht möglich, ein Buch zwischendurch zu entfernen, da dies die Einstellung des Stapels stören würde.
Daher funktioniert der Stack in C# auch auf die gleiche Weise. Elemente werden dem Stapel hinzugefügt, eines übereinander. Der Vorgang des Hinzufügens eines Elements zum Stapel wird als Push-Operation bezeichnet. Um ein Element aus einem Stapel zu entfernen, können Sie auch das oberste Element des Stapels entfernen. Diese Operation wird als pop bezeichnet.
Sehen wir uns die für die Stack-Sammlung verfügbaren Operationen genauer an.
Deklaration des Stacks
Ein Stack wird mit Hilfe des Datentyps Stack erstellt. Das Schlüsselwort „new“ wird verwendet, um ein Objekt eines Stacks zu erstellen. Das Objekt wird dann der Variablen st.
zugewiesenStack st = new Stack()
Elemente zum Stack hinzufügen
Die Push-Methode wird verwendet, um ein Element auf den Stack hinzuzufügen. Die allgemeine Syntax der Anweisung ist unten angegeben.
Stack.push(element)
Entfernen von Elementen aus dem Stack
Die Pop-Methode wird verwendet, um ein Element aus dem Stapel zu entfernen. Die Pop-Operation gibt das oberste Element des Stapels zurück. Die allgemeine Syntax der Anweisung ist unten angegeben
Stack.pop()
Zählen
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 zu sehen, ob ein Element im Stack vorhanden ist. Nachfolgend finden Sie die allgemeine Syntax dieser Anweisung. Die Anweisung gibt wahr zurück, wenn das Element existiert, andernfalls gibt sie den Wert falsch zurück.
Stack.Contains(element)
Sehen wir uns nun an, wie dies auf Codeebene funktioniert. Der gesamte unten erwähnte Code wird in unsere Konsolenanwendung geschrieben. Der Code wird in unsere Program.cs-Datei geschrieben.
Im folgenden Programm schreiben wir den Code, um zu sehen, wie wir die oben genannten Methoden verwenden können.
Beispiel 1:Stack.Push()-Methode
In diesem Beispiel sehen wir
- Wie ein Stack erstellt wird.
- Wie man die Elemente des Stacks anzeigt und die Count- und Contain-Methoden verwendet.
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-Erklärung:-
- Im ersten Schritt wird der Stack deklariert. Hier deklarieren wir „st“ als Variable, um die Elemente unseres Stacks aufzunehmen.
- Als nächstes fügen wir 3 Elemente zu unserem Stack hinzu. Jedes Element wird über die Push-Methode hinzugefügt.
- Da nun auf die Stack-Elemente nicht wie auf die Array-Liste über die Indexposition zugegriffen werden kann, müssen wir einen anderen Ansatz verwenden, um die Elemente des Stacks 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 Stacks zu durchlaufen. Für jedes Stapelelement wird der Wert der obj-Variablen zugewiesen. Wir verwenden dann den Befehl Console.Writeline, um den Wert auf der Konsole anzuzeigen.
- Wir verwenden die Count-Eigenschaft (st.count ), um die Anzahl der Elemente im Stapel zu erhalten. Diese Eigenschaft gibt eine Zahl zurück. Wir zeigen diesen Wert dann auf der Konsole an.
- Wir verwenden dann die Contains-Methode, um zu sehen, ob der Wert 3 in unserem Stack vorhanden ist. Dies gibt entweder einen wahren oder einen falschen Wert zurück. Diesen Rückgabewert zeigen wir dann auf der Konsole an.
Wenn der obige Code korrekt eingegeben wird und das Programm ausgeführt wird, wird die folgende Ausgabe angezeigt.
Ausgabe:
Aus der Ausgabe können wir sehen, dass die Elemente des Stacks angezeigt werden. Außerdem wird der Wert True angezeigt, um zu sagen, dass der Wert 3 auf dem Stack definiert ist.
Hinweis :Sie haben bemerkt, dass das zuletzt auf den Stack geschobene Element zuerst angezeigt wird. Dies ist das oberste Element des Stapels. Die Anzahl der Stapelelemente wird auch in der Ausgabe angezeigt.
Beispiel 2:Stack.Pop()-Methode
Schauen wir uns nun die „Entfernen“-Funktion an. Wir sehen den Code, der erforderlich ist, um das oberste Element aus dem 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-Erklärung:-
- Hier geben wir einfach die Pop-Methode aus, die verwendet wird, um ein Element aus dem Stapel zu entfernen.
Wenn der obige Code korrekt eingegeben und das Programm ausgeführt wird, wird die folgende Ausgabe angezeigt.
Ausgabe:
Wir können sehen, dass das Element 3 vom Stack entfernt wurde.
Zusammenfassung
- Ein Stack basiert auf dem Last-in-first-out-Konzept. Der Vorgang des Hinzufügens eines Elements zum Stapel wird als Push-Vorgang bezeichnet. Die Operation zum Entfernen eines Elements aus dem Stack wird als Pop-Operation bezeichnet.
C Sprache
- C#-Ausdrücke, -Anweisungen und -Blöcke (mit Beispielen)
- C++ do…while-Schleife mit Beispielen
- C++-Zeiger mit Beispielen
- C++ Char-Datentyp mit Beispielen
- Überladen von C++-Operatoren mit Beispielen
- C++ Funktionen mit Programmbeispielen
- Tutorial zu C#-Sammlungen mit Beispielen
- Python String count() mit BEISPIELE
- Python-Funktion round() mit BEISPIELE
- Python map() Funktion mit BEISPIELE