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

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


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

WEBINAR:

On-Demand

Application Security Testing: An Integral Part of DevOps


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
Thanks for your registration, follow us on our social networks to keep up-to-date