在C#中实现堆栈
堆栈类是使用Push和Pop操作在C#中实现的。
C#中使用Stack表示对象的后进先出集合。以下是Stack类的方法-
Clear()
;从堆栈中删除所有元素。Contains(objectobj)
;确定元素是否在堆栈中。Peek()
;返回位于堆栈顶部的对象,但不删除它。Pop()
;删除并返回堆栈顶部的对象。Push(objectobj)
;在堆栈顶部插入一个对象。ToArray()
;将堆栈复制到新数组。推送操作会添加元素。
Stack st = new Stack(); st.Push('A'); st.Push('B'); st.Push('C'); st.Push('D');
弹出操作从堆栈中删除元素。
st.Push('P'); st.Push('Q');
这里是展示如何使用Stack类及其工作的例子Push()
和Pop()
方法。
示例
using System; using System.Collections; namespace CollectionsApplication { class Program { static void Main(string[] args) { Stack st = new Stack(); st.Push('A'); st.Push('B'); st.Push('C'); st.Push('D'); Console.WriteLine("Current stack: "); foreach (char c in st) { Console.Write(c + " "); } Console.WriteLine(); st.Push('P'); st.Push('Q'); 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: D C B A The next poppable value in stack: Q Current stack: Q P D C B A Removing values.... Current stack: C B A