堆栈 排序列表 队列 C# 堆栈(Stack) 堆栈(Stack)代表了一个后进先出的对象集合。当您需要对各项进行后进先出的访问时,则使用堆栈。当您在列表中添加一项,称为推入元素,当您从列表中移除一项时,称为弹出元素。 Stack 类的方法和属性 下表列出了 Stack 类的一些常用的 属性: 属性描述 Count获取 Stack 中包含的元素个数。 下表列出了 Stack 类的一些常用的 方法: 序号方法名 & 描述 1public virtual void Clear(); 从 Stack 中移除所有的元素。 2public virtual bool Contains( object obj ); 判断某个元素是否在 Stack 中。 3public virtual object Peek();返回在 Stack 的顶部的对象,但不移除它。 4public virtual object Pop();移除并返回在 Stack 的顶部的对象。 5public virtual void Push( object obj );向 Stack 的顶部添加一个对象。 6public virtual object[] ToArray();复制 Stack 到一个新的数组中。 实例 下面的实例演示了堆栈(Stack)的使用: 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 排序列表 队列