Visual Basic 堆栈(Stack)
堆栈(Stack
) 代表一个 后进先出 的对象集合。
当您需要对项目进行后进先出的访问时,可以使用该集合。在列表中添加项目时,称为 push 推送项目,删除项目时,称为 pop 弹出项目。
Stack 类的属性和方法
下表列出了 Stack
类的一些常用属性:
编号 | 属性 & 描述 |
---|---|
1 | Count 获取堆栈中包含的元素数。 |
下表列出了 Stack
类的一些常用方法:
编号 | 方法名称 & 用途 |
---|---|
1 | Public Overridable Sub Clear 删除堆栈中的所有元素。 |
2 | Public Overridable Function Contains (obj As Object) As Boolean 确定元素是否在堆栈中。 |
3 | Public Overridable Function Peek As Object 返回堆栈顶部的对象,而不删除它。 |
4 | Public Overridable Function Pop As Object 移除并返回堆栈顶部的对象。 |
5 | Public Overridable Sub Push (obj As Object) 在堆栈顶部插入对象。 |
6 | Public Overridable Function ToArray As Object() 将堆栈复制到新数组。 |
实例
Module collections
Sub Main()
Dim st As Stack = New Stack()
st.Push("A")
st.Push("M")
st.Push("G")
st.Push("W")
Console.WriteLine("Current stack: ")
Dim c As Char
For Each c In st
Console.Write(c + " ")
Next c
Console.WriteLine()
st.Push("V")
st.Push("H")
Console.WriteLine("The next poppable value in stack: {0}", st.Peek())
Console.WriteLine("Current stack: ")
For Each c In st
Console.Write(c + " ")
Next c
Console.WriteLine()
Console.WriteLine("Removing values ")
st.Pop()
st.Pop()
st.Pop()
Console.WriteLine("Current stack: ")
For Each c In st
Console.Write(c + " ")
Next c
Console.ReadKey()
End Sub
End Module
结果如下:
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