C#のスタック(スタック)
スタック(積み重ね)LIFOは、オブジェクトのコレクションを表します。 あなたはLIFOアクセスを実行する必要がある場合は、スタックを使用します。 あなたがリストを追加するときは、リストから項目を削除すると、押し要素と呼ばれる、 ポップ要素と呼ばれます。
クラスのメソッドとプロパティをスタック
以下の表は、一般的なのいくつかは、Stackクラスを属性を示します:
属性 | 描述 |
---|---|
Count | 获取 Stack 中包含的元素个数。 |
次の表は、一般的な方法のいくつかのクラスをスタック示しています。
序号 | 方法名 & 描述 |
---|---|
1 | public virtual void Clear();
从 Stack 中移除所有的元素。 |
2 | public virtual bool Contains(
object obj
);
判断某个元素是否在 Stack 中。 |
3 | public virtual object Peek(); 返回在 Stack 的顶部的对象,但不移除它。 |
4 | public virtual object Pop(); 移除并返回在 Stack 的顶部的对象。 |
5 | public virtual void Push(
object obj
); 向 Stack 的顶部添加一个对象。 |
6 | public virtual object[] ToArray(); 复制 Stack 到一个新的数组中。 |
例
次の例では、スタック(スタック)の使用を示しています。
システムを用いました。 System.Collectionsを使用しました。 名前空間のCollectionsApplication { クラスプログラム { 静的な無効メイン(文字列[] args) { スタックST =新しいスタック(); st.Push( 'A'); st.Push( 'M'); st.Push( 'G'); st.Push( 'W'); Console.WriteLineを( "現在のスタック:"); foreachの(目のchar cを) { Console.Write(C + ""); } Console.WriteLineを(); st.Push( 'V'); st.Push( 'H'); Console.WriteLineを( "スタック内の次のpoppable値:{0}"、 st.Peek())。 Console.WriteLineを( "現在のスタック:"); foreachの(目のchar cを) { Console.Write(C + ""); } Console.WriteLineを(); Console.WriteLineを( "値の取り外し」を参照)。 st.Pop()。 st.Pop()。 st.Pop()。 Console.WriteLineを( "現在のスタック:"); foreachの(目のchar cを) { Console.Write(C + ""); } } } }
上記のコードはコンパイルされ、実行されると、次の結果を生成します。
現在のスタック: WGMA スタック内の次のpoppable値:H 現在のスタック: HVWGMA 値を削除します 現在のスタック: GMA