Stack
优质
小牛编辑
128浏览
2023-12-01
它代表了一个后进先出的对象集合。 当您需要后进先出的项目访问时使用它。 当你在列表中添加一个项目时,它被称为推送项目,当你删除它时,它被称为弹出项目。
堆栈类的方法和属性
下表列出了Stack类的一些常用properties -
Sr.No. | 财产和描述 |
---|---|
1 | Count 获取Stack中包含的元素数。 |
下表列出了Stack类的一些常用methods -
Sr.No. | 方法和描述 |
---|---|
1 | public virtual void Clear(); 从堆栈中删除所有元素。 |
2 | public virtual bool Contains(object obj); 确定元素是否在Stack中。 |
3 | public virtual object Peek(); 返回堆栈顶部的对象而不删除它。 |
4 | public virtual object Pop(); 删除并返回堆栈顶部的对象。 |
5 | public virtual void Push(object obj); 在Stack的顶部插入一个对象。 |
6 | public virtual object[] ToArray(); 将堆栈复制到新阵列。 |
例子 (Example)
以下示例演示了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