C#の例とスタック
C#のStackクラスは、単純な後入れ先出し(LIFO)の非ジェネリックオブジェクトのコレクションを表します。
Stackクラスのプロパティは次のとおりです-
Sr.No | プロパティと説明 |
---|---|
1 | カウント スタックに含まれる要素の数を取得します。 |
2 | IsSynchronized スタックへのアクセスが同期されている(スレッドセーフ)かどうかを示す値を取得します。 |
3 | SyncRoot スタックへのアクセスを同期するために使用できるオブジェクトを取得します。 |
以下は、Stackクラスのメソッドの一部です-
Sr.No | プロパティと説明 |
---|---|
1 | Clear() スタックからすべてのオブジェクトを削除します。 |
2 | Clone() スタックの浅いコピーを作成します。 |
3 | contains(Object) 要素がスタックにあるかどうか。 |
4 | CopyTo(Array、Int32) 指定された配列インデックスから開始して、スタックを既存の1次元配列にコピーします。 |
5 | Equals(Object) 指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判別します。 |
6 | GetEnumerator() スタックのIEnumeratorを返します。 |
7 | GetHashCode() デフォルトのハッシュ関数として機能します。(オブジェクトから継承) |
8 | GetType() 現在のインスタンスのタイプを取得します。 |
9 | Peek() スタックの一番上にあるオブジェクトを削除せずに返します。 |
10 | Pop() スタックの一番上にあるオブジェクトを削除して返します |
11 | Push(Object) スタックの一番上にオブジェクトを挿入します。 |
例
いくつかの例を見てみましょう-
スタックの一番上にあるオブジェクトを取得するためのコードは次のとおりです-
using System; using System.Collections.Generic; public class Demo { public static void Main() { Stack<string> stack = new Stack<string>(); stack.Push("A"); stack.Push("B"); stack.Push("C"); stack.Push("D"); stack.Push("E"); stack.Push("F"); stack.Push("G"); stack.Push("H"); stack.Push("I"); stack.Push("J"); Console.WriteLine("Count of elements = "+stack.Count); Console.WriteLine("Element at the top of stack = " + stack.Peek()); } }
出力
これにより、次の出力が生成されます-
Count of elements = 10 Element at the top of stack = J Count of elements = 10
スタックに要素があるかどうかを確認するには、C#のContains()メソッドを使用します。以下はコードです-
例
using System; using System.Collections.Generic; public class Demo { public static void Main() { Stack<int> stack = new Stack<int>(); stack.Push(100); stack.Push(150); stack.Push(175); stack.Push(200); stack.Push(225); stack.Push(250); stack.Push(300); stack.Push(400); stack.Push(450); stack.Push(500); Console.WriteLine("Elements in the Stack:"); foreach(var val in stack) { Console.WriteLine(val); } Console.WriteLine("Count of elements in the Stack = "+stack.Count); Console.WriteLine("Does Stack has the element 400?= "+stack.Contains(400)); } }
出力
これにより、次の出力が生成されます-
Elements in the Stack: 500 450 400 300 250 225 200 175 150 100 Count of elements in the Stack = 10 Does Stack has the element40400?= False
-
プッシュおよびポップ操作でスタックを実装するC#プログラム
プッシュ操作でスタックを設定して、スタックに要素を追加します- Stack st = new Stack(); st.Push('A'); st.Push('M'); st.Push('G'); st.Push('W'); スタックから要素をポップするには、Pop()メソッド-を使用します st.Pop(); st.Pop(); 以下は、プッシュおよびポップ操作でスタックを実装する例です- 例 using System; using System.Collections; namespace CollectionsAp
-
例を使ってPythonでスタックを説明する
スタックは、後入れ先出しで機能する線形データ構造です。 メカニズム(LIFO)。スタックの最初に入る要素が最後に処理されます。 例 スタックのデータ構造は、料理のスタックの例を使用して理解できます。 お皿は次々と積み上げられます。最初のプレートまたは皿はパイルの下部にあり、最後に配置された皿はパイルまたはスタックの上部にあります。プレートが必要なときはいつでも、最後に挿入または配置されたプレートであるスタックの一番上にあるプレートをピックアップします。最初に配置されたプレートが最後にピックアップされます。したがって、後入れ先出しメカニズムに従います。 Pythonでのスタックの実装 Py