gpt4 book ai didi

excel - Excel VBA 的 LIFO(堆栈)算法/类

转载 作者:行者123 更新时间:2023-12-02 00:44:48 25 4
gpt4 key购买 nike

我正在寻找在 Excel 的 VBA 中实现“Stack”类。我想使用后进先出结构。以前有人遇到过这个问题吗?你知道处理结构的外部库吗,例如 Stack、Hastable、Vector...(除了原始的 Excel Collection 等...)

谢谢

最佳答案

这是一个非常简单的堆栈类。

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 Sub

布鲁斯

关于excel - Excel VBA 的 LIFO(堆栈)算法/类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4871485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com