devxlogo

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

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 valuesDim colValues As New Collection' add a new value onto the stackSub Push(value As Variant)    colValues.Add valueEnd Sub' Pop a value off the stack - raise error if stack is emtpyFunction Pop() As Variant    Pop = colValues.Item(colValues.Count)    colValues.Remove colValues.CountEnd Function' Return the value on top of the stack, without popping it' raise error if stack is emptyFunction Peek() As Variant    Peek = colValues.Item(colValues.Count)End Function' Return the number of values in the stackFunction Count() As Long    Count = colValues.CountEnd Function

devx-admin

Share the Post: