📄 stack.cls
字号:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "Stack"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'*********************************************************************************
'同大家的理解不一样:
'Collection类的对象实际可以加入任意类型的数据,int,char等的
'所以说Collection类的对象实际是泛型的!这点就让我们不必要再关心进出栈数据的类型问题了.
'记着这些吧!以下我们仅仅使用它存储整数!
'终于领略了VB6比老C语言强了吧?实际在C#中,你连这种类都不必要写,因为它已经有了!
'最主要的是:下面这可是实际工程中使用的代码!别以为我们以前写的那些东西能编入实际程序!
'以后明白那是垃圾!
'*********************************************************************************
Private Stack As Collection
Private Top As Integer
Private Sub Class_Initialize()
Set Stack = New Collection
Top = 0
End Sub
Public Function IsStackEmpty() As Boolean
If Stack.Count = 0 Then
IsStackEmpty = True
Else
IsStackEmpty = False
End If
End Function
Public Sub Push(ByVal sE As Integer)
Stack.Add sE '加入一个元素
End Sub
Public Function Pop() As Integer
Top = Stack.Count '总是取最后一个,后进的先出嘛!
If Top = 0 Then Pop = -1: Exit Function
Pop = Stack.Item(Top) '设置返回结果返回
Stack.Remove Top '总是删除最后进去的一个
End Function
Property Get StackLength() As Integer
StackLength = Stack.Count '别注释了!
End Property
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -