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 valuesDim colValues As New Collection' add a new value to the queueSub Enqueue(value As Variant)    colValues.Add valueEnd Sub' read the next value from the queue and remove it' raises and error if the queue is emptyFunction Dequeue() As Variant    Dequeue = colValues.Item(1)    colValues.Remove 1End Function' Return the next value from the queue, without removing it' raise error if queue is emptyFunction Peek() As Variant    Peek = colValues.Item(1)End Function' Return the number of values in the queueFunction Count() As Long    Count = colValues.CountEnd Function' clear the queueSub Clear()    Set colValues = New CollectionEnd Sub

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: