Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: VB5,VB6
Expertise: Intermediate
Jul 21, 2001



Building the Right Environment to Support AI, Machine Learning and Deep Learning

CStack - a class module for implementing Last-In-First-Out (stack) structures

'  The CSTACK class
' Usage:
'    Dim st As New CStack
'    ' push two values on the stack
'    st.Push 1234
'    st.Push 4567
'    ' display number of elements in the stack
'    Debug.Print "Count = " & st.Count
'    ' peek at the element on top of stack
'    Debug.Print "Peek = " & st.Peek
'    ' print the elements on the stack while popping them
'    Do While st.Count
'        Debug.Print "TOS item = " & st.Pop
'    Loop

' this is the collection that holds the values
Dim colValues As New Collection

' add a new value onto the stack
Sub Push(value As Variant)
    colValues.Add value
End Sub

' Pop a value off the stack - raise error if stack is emtpy
Function Pop() As Variant
    Pop = colValues.Item(colValues.Count)
    colValues.Remove colValues.Count
End Function

' Return the value on top of the stack, without popping it
' raise error if stack is empty
Function Peek() As Variant
    Peek = colValues.Item(colValues.Count)
End Function

' Return the number of values in the stack
Function Count() As Long
    Count = colValues.Count
End Function
Francesco Balena
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date