Login | Register   
LinkedIn
Google+
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

CQueue - a class module to implement First-In-First-Out (queue) structures

'--------------------------------------------------
'
' The CQUEUE class
'    Dim qu As New CQueue
'
'    ' enqueue to items to the queue
'    qu.Enqueue 1234
'    qu.Enqueue 5678
'    ' display number of elements in the queue
'    Debug.Print "Count = " & qu.Count
'    ' peek at the element about to be read
'    Debug.Print "Peek = " & qu.Peek
'    ' print the elements in the queue while removing them
'    Do While qu.Count
'        Debug.Print "next item = " & qu.Dequeue
'    Loop
'--------------------------------------------------

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

' add a new value to the queue
Sub Enqueue(value As Variant)
    colValues.Add value
End Sub

' read the next value from the queue and remove it
' raises and error if the queue is empty
Function Dequeue() As Variant
    Dequeue = colValues.Item(1)
    colValues.Remove 1
End Function

' Return the next value from the queue, without removing it
' raise error if queue is empty
Function Peek() As Variant
    Peek = colValues.Item(1)
End Function

' Return the number of values in the queue
Function Count() As Long
    Count = colValues.Count
End Function

' clear the queue
Sub Clear()
    Set colValues = New Collection
End Sub

Francesco Balena
 
Comment and Contribute

 

 

 

 

 


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

 

 

Sitemap