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 collectionsSub 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 CharFor Each c In stConsole.Write(c + " ")Next cConsole.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 stConsole.Write(c + " ")Next cConsole.WriteLine()Console.WriteLine("Removing values ")st.Pop()st.Pop()st.Pop()Console.WriteLine("Current stack: ")For Each c In stConsole.Write(c + " ")Next cConsole.ReadKey()End SubEnd Module
结果如下:
Current stack:W G M AThe next poppable value in stack: HCurrent stack:H V W G M ARemoving valuesCurrent stack:G M A