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

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.



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