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()

将堆栈复制到新数组。


实例

  1. Module collections
  2. Sub Main()
  3. Dim st As Stack = New Stack()
  4. st.Push("A")
  5. st.Push("M")
  6. st.Push("G")
  7. st.Push("W")
  8. Console.WriteLine("Current stack: ")
  9. Dim c As Char
  10. For Each c In st
  11. Console.Write(c + " ")
  12. Next c
  13. Console.WriteLine()
  14. st.Push("V")
  15. st.Push("H")
  16. Console.WriteLine("The next poppable value in stack: {0}", st.Peek())
  17. Console.WriteLine("Current stack: ")
  18. For Each c In st
  19. Console.Write(c + " ")
  20. Next c
  21. Console.WriteLine()
  22. Console.WriteLine("Removing values ")
  23. st.Pop()
  24. st.Pop()
  25. st.Pop()
  26. Console.WriteLine("Current stack: ")
  27. For Each c In st
  28. Console.Write(c + " ")
  29. Next c
  30. Console.ReadKey()
  31. End Sub
  32. End Module

结果如下:

  1. Current stack:
  2. W G M A
  3. The next poppable value in stack: H
  4. Current stack:
  5. H V W G M A
  6. Removing values
  7. Current stack:
  8. G M A

分类导航