Stack 类在 C# 中使用 Push 和 Pop 操作实现。
Stack 在 C# 中用于表示对象的后进先出集合。以下是 Stack 类的方法 -
Sr.No. | 方法及说明 |
---|---|
1 | public virtual void Clear(); 从堆栈中删除所有元素。 |
2 | public virtual bool Contains(object obj); 判断是否元素在堆栈中。 |
3 | public virtual object Peek(); 返回Stack顶部的对象而不删除它。 |
4 | 公共虚拟对象Pop(); 删除并返回堆栈顶部的对象。 |
5 | public virtual void Push(object obj); 在堆栈顶部插入一个对象。 td> |
6 | 公共虚拟对象[] ToArray(); strong> 将 Stack 复制到新数组。 |
Push 操作添加元素。
Push 操作添加元素。 p>
'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