VB6 模擬 Queue 元件

程式內容為網路轉載,純粹紀錄

'--------------------------------------------------
'
' 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