Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


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

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.

 

 

Sitemap