PrioQueue (gb.data)

Una PrioQueue, abbreviazione di Priority Queue (Coda prioritaria), è un tipo di coda più generale in cui tutti gli elementi inseriti non sono strettamente allineati in modo lineare. Vengono invece prima raggruppati in base al loro indice di priorità. Maggiore è l'indice del gruppo, più importante e quindi più vicino all'inizio della PrioQueue il gruppo viene accodato. Ad ogni gruppo si applica la solita semantica FIFO di una coda. In modo che, in effetti, tutti gli elementi possano essere ordinati di nuovo in modo lineare.

Per comprendere la PrioQueue, osserva che la puoi implementare sia in una coda che in uno stack: per ogni elemento da inserire, ottieni un timestamp logico e se stai costruendo una coda, questa è la tua priorità. Se invece stai costruendo una pila, capovolgi il segno di questo numero e questa è la tua priorità.

Ulteriori informazioni sulle code prioritarie sono disponibili su Wikipedia.

Questa classe è creabile.

Proprietà
IsEmpty   property Read IsEmpty As Boolean
Size   property Read Size As Integer

Metodi
Clear   Sub Clear ( )
Deq   Function Deq ( ) As Variant
Dequeue   Function Dequeue ( ) As Variant
Enq   Sub Enq ( Value As Variant, Prio As Integer )
Enqueue   Sub Enqueue ( Value As Variant, Prio As Integer )
Peek   Function Peek ( ) As Variant

Vedi anche

PrioSet