プッシュとポップの例を含む C# スタック
C# のスタックとは?
スタックは、後入れ先出し (LIFO) の概念を表す特別なケースのコレクションです。まずLIFOを理解するために、例を挙げてみましょう。それぞれの本が互いに積み重なっている本を想像してみてください。
本の場合の後入れ先出しの概念は、本のスタックから一番上の本だけを取り除くことができることを意味します。スタックの設定が乱れるため、その間から本を取り除くことはできません。
したがって、C# では、スタックも同じように機能します。要素はスタックに追加され、1 つずつ積み重ねられます。要素をスタックに追加するプロセスは、プッシュ操作と呼ばれます。スタックから要素を削除するには、スタックの一番上の要素を削除することもできます。この操作は pop として知られています。
Stack コレクションで使用できる操作を詳しく見てみましょう。
スタックの宣言
スタックは、Stack Data タイプを使用して作成されます。キーワード「new」は、スタックのオブジェクトを作成するために使用されます。その後、オブジェクトは変数 st に割り当てられます。
Stack st = new Stack()
要素をスタックに追加する
push メソッドは、要素をスタックに追加するために使用されます。ステートメントの一般的な構文を以下に示します。
Stack.push(element)
スタックからの要素の削除
pop メソッドは、スタックから要素を削除するために使用されます。 pop 操作は、スタックの最上位の要素を返します。ステートメントの一般的な構文を以下に示します
Stack.pop()
カウント
このプロパティは、スタック内のアイテムの数を取得するために使用されます。以下は、このステートメントの一般的な構文です。
Stack.Count
含む
このメソッドは、スタックに要素が存在するかどうかを確認するために使用されます。以下は、このステートメントの一般的な構文です。このステートメントは、要素が存在する場合は true を返し、存在しない場合は値 false を返します。
Stack.Contains(element)
これがコードレベルで機能することを見てみましょう。以下のコードはすべて、コンソール アプリケーションに書き込まれます。コードは Program.cs ファイルに書き込まれます。
以下のプログラムでは、上記のメソッドをどのように使用できるかを確認するためのコードを記述します。
例 1:Stack.Push() メソッド
この例では、
- スタックの作成方法
- スタックの要素を表示する方法、および Count メソッドと 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(); } } }
コードの説明:-
<オール>上記のコードが正しく入力され、プログラムが実行されると、次の出力が表示されます。
出力:
出力から、スタックの要素が表示されていることがわかります。また、値 3 がスタックに定義されていることを示すために、True の値が表示されます。
注意 :スタックに最後にプッシュされた要素が最初に表示されることに気付きました。これは、スタックの最上位の要素です。スタック要素の数も出力に表示されます。
例 2:Stack.Pop() メソッド
次に、「削除」機能を見てみましょう。スタックから最上位の要素を削除するために必要なコードが表示されます。
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(); } } }
コードの説明:-
<オール>上記のコードを正しく入力してプログラムを実行すると、次の出力が表示されます。
出力:
要素 3 がスタックから削除されたことがわかります。
まとめ
- スタックは、後入れ先出しの概念に基づいています。要素をスタックに追加する操作は、プッシュ操作と呼ばれます。要素をスタックから削除する操作は、ポップ操作と呼ばれます。
C言語