Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

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.

zugewiesen
Stack 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

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:-

  1. Im ersten Schritt wird der Stack deklariert. Hier deklarieren wir „st“ als Variable, um die Elemente unseres Stacks aufzunehmen.
  2. Als nächstes fügen wir 3 Elemente zu unserem Stack hinzu. Jedes Element wird über die Push-Methode hinzugefügt.
  3. 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.
  4. 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.
  5. 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:-

  1. 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


C Sprache

  1. C#-Ausdrücke, -Anweisungen und -Blöcke (mit Beispielen)
  2. C++ do…while-Schleife mit Beispielen
  3. C++-Zeiger mit Beispielen
  4. C++ Char-Datentyp mit Beispielen
  5. Überladen von C++-Operatoren mit Beispielen
  6. C++ Funktionen mit Programmbeispielen
  7. Tutorial zu C#-Sammlungen mit Beispielen
  8. Python String count() mit BEISPIELE
  9. Python-Funktion round() mit BEISPIELE
  10. Python map() Funktion mit BEISPIELE