C# Stack類
它代表了後進先出集合對象。當需要一個後進先出項目的存取使用它。當在列表中添加一個項目,它被稱為壓入項,當刪除它,它被稱為彈出項。
Stack類的方法和屬性
下表列出了一些Stack類的常用屬性:
屬性 | 描述 |
---|---|
Count | 獲取包含在堆棧的元素數 |
下表列出了一些Stack類的常用方法:
S.N | 方法名稱及用途 |
---|---|
1 |
public virtual void Clear(); 從堆棧中刪除所有元素 |
2 |
public virtual bool Contains( object obj ); 確定一個元素是否在棧中 |
3 |
public virtual object Peek(); 返回位於堆棧頂部的對象而不移除它 |
4 |
public virtual object Pop(); 移除並返回堆棧頂部的對象 |
5 |
public virtual void Push( object obj ); 插入一個對象在堆棧的頂部 |
6 |
public virtual object[] ToArray(); 複製堆棧到一個新的數組 |
例子:
下麵的例子演示了使用堆棧:
using System; using System.Collections; namespace CollectionsApplication { class Program { static void Main(string[] args) { Stack st = new Stack(); st.Push('A'); st.Push('M'); st.Push('G'); st.Push('W'); Console.WriteLine("Current stack: "); foreach (char c in st) { Console.Write(c + " "); } Console.WriteLine(); st.Push('V'); st.Push('H'); Console.WriteLine("The next poppable value in stack: {0}", st.Peek()); Console.WriteLine("Current stack: "); foreach (char c in st) { Console.Write(c + " "); } Console.WriteLine(); Console.WriteLine("Removing values "); st.Pop(); st.Pop(); st.Pop(); Console.WriteLine("Current stack: "); foreach (char c in st) { Console.Write(c + " "); } } } }
讓我們編譯和運行上麵的程序,這將產生以下結果:
Current stack: W G M A The next poppable value in stack: H Current stack: H V W G M A Removing values Current stack: G M A