VB.Net Stack类

Stack类表示对象的后进先出集合。当需要对项目进行后进先出访问时使用它。当在列表中添加一个项目时称为推送项目,当删除它时称为弹出项目。

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() 将堆栈复制到新数组。

示例

以下示例演示如何使用堆栈:

Imports System.Collections
Module MyStack
   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

执行上面示例代码,得到以下结果 -

F:\worksp\vb.net\collection>vbc MyStack.vb
Microsoft (R) Visual Basic Compiler version 14.0.1038
for Visual Basic 2012
Copyright (c) Microsoft Corporation.  All rights reserved.

This compiler is provided as part of the Microsoft (R) .NET Framework, but only supports language versions up to Visual Basic 2012, which is no longer the latest version. For compilers that support newer versions of the Visual Basic programming language, see http://go.microsoft.com/fwlink/?LinkID=533241


F:\worksp\vb.net\collection>MyStack.exe
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

上一篇: VB.Net集合 下一篇: VB.Net函数