本文介绍了用于Excel VBA的LIFO(Stack)算法/类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在寻找在VBA for Excel中实现堆栈类。我想使用先进先出结构。有人以前遇到这个问题吗?你知道外部库处理结构,如Stack,Hastable,Vector ...(除了原来的Excel Collection等...)
I'm looking to implement a "Stack" Class in VBA for Excel. I want to use a Last In First Out structure. Does anyone came across this problem before ? Do you know external libraries handling structure such as Stack, Hastable, Vector... (apart the original Excel Collection etc...)
谢谢
推荐答案这是一个非常简单的堆栈类。
Here is a very simple stack class.
Option Explicit Dim pStack As Collection Public Function Pop() As Variant With pStack If .Count > 0 Then Pop = .Item(.Count) .Remove .Count End If End With End Function Public Function Push(newItem As Variant) As Variant With pStack .Add newItem Push = .Item(.Count) End With End Function Public Sub init() Set pStack = New Collection End Sub测试它
Option Explicit Sub test() Dim cs As New cStack Dim i As Long Set cs = New cStack With cs .init For i = 1 To 10 Debug.Print CStr(.Push(i)) Next i For i = 1 To 10 Debug.Print CStr(.Pop) Next i End With End SubBruce
更多推荐
用于Excel VBA的LIFO(Stack)算法/类
发布评论