Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
37
Task/Stack/VBA/stack-1.vba
Normal file
37
Task/Stack/VBA/stack-1.vba
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
'Simple Stack class
|
||||
|
||||
'uses a dynamic array of Variants to stack the values
|
||||
'has read-only property "Size"
|
||||
'and methods "Push", "Pop", "IsEmpty"
|
||||
|
||||
Private myStack()
|
||||
Private myStackHeight As Integer
|
||||
|
||||
'method Push
|
||||
Public Function Push(aValue)
|
||||
'increase stack height
|
||||
myStackHeight = myStackHeight + 1
|
||||
ReDim Preserve myStack(myStackHeight)
|
||||
myStack(myStackHeight) = aValue
|
||||
End Function
|
||||
|
||||
'method Pop
|
||||
Public Function Pop()
|
||||
'check for nonempty stack
|
||||
If myStackHeight > 0 Then
|
||||
Pop = myStack(myStackHeight)
|
||||
myStackHeight = myStackHeight - 1
|
||||
Else
|
||||
MsgBox "Pop: stack is empty!"
|
||||
End If
|
||||
End Function
|
||||
|
||||
'method IsEmpty
|
||||
Public Function IsEmpty() As Boolean
|
||||
IsEmpty = (myStackHeight = 0)
|
||||
End Function
|
||||
|
||||
'property Size
|
||||
Property Get Size() As Integer
|
||||
Size = myStackHeight
|
||||
End Property
|
||||
21
Task/Stack/VBA/stack-2.vba
Normal file
21
Task/Stack/VBA/stack-2.vba
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
'stack test
|
||||
Public Sub stacktest()
|
||||
Dim aStack As New Stack
|
||||
With aStack
|
||||
'push and pop some value
|
||||
.Push 45
|
||||
.Push 123.45
|
||||
.Pop
|
||||
.Push "a string"
|
||||
.Push "another string"
|
||||
.Pop
|
||||
.Push Cos(0.75)
|
||||
Debug.Print "stack size is "; .Size
|
||||
While Not .IsEmpty
|
||||
Debug.Print "pop: "; .Pop
|
||||
Wend
|
||||
Debug.Print "stack size is "; .Size
|
||||
'try to continue popping
|
||||
.Pop
|
||||
End With
|
||||
End Sub
|
||||
Loading…
Add table
Add a link
Reference in a new issue