PrioQueue (gb.data)

A PrioQueue, abreviação de prioridade Queue, é um tipo mais geral de Queue (fila) onde todos os elementos não são estritamente inseridos de forma linear, em fila. Em vez disso, eles são primeiramente agrupados por seu índice de prioridade. O maior índice é o mais importante e, assim, mais próximo o início da PrioQueue este grupo é enfileirado. Com cada grupo, a semântica habituais FIFO de uma fila. De modo que, com efeito, todos os elementos podem ser ordenados novamente de forma linear.

Para variar o PrioQueue em sua hierarquia mental de conceitos, observa-se que você pode implementar tanto um Queue quanto uma Stack usando um PrioQueue: para inserir cada elemento e obter um timestamp lógico. Se você está construindo uma fila (Queue), esta é a sua prioridade. Se você está construindo uma Pilha (Stack), é só virar o sinal deste número e esta é a sua prioridade.

Mais informações sobre filas de prioridade está disponível na Wikipedia.

Esta classe é criável.

Propriedades
IsEmpty   Retorna TRUE se o PrioQueue estiver vasio.
Size   Retorna o numero de elementos no PrioQueue.

Métodos
Clear   Remove todos os elementos.
Deq   Um sinônimo para Dequeue.
Dequeue   Remove e retorna o primeiro elemento do queue.
Enq   Um sinônimo para Enqueue.
Enqueue   Enqueue (Enfileirar) um elemento. Ao contrário de Queue.Enqueue (), você deve fornecer um índice de prioridade, juntamente com o valor real. A maior prioridade, o mais importante elemento. Os elementos importantes mais próximo do início da PrioQueue.
Peek   Inspecione o primeiro elemento, mas não o remove.

Veja também

PrioSet