PriorityQueue<TElement,TPriority> Classe

Definição

Representa uma coleção de itens que têm um valor e uma prioridade. Na retirada da fila, o item com o valor de prioridade mais baixo é removido.

generic <typename TElement, typename TPriority>
public ref class PriorityQueue
public class PriorityQueue<TElement,TPriority>
type PriorityQueue<'Element, 'Priority> = class
Public Class PriorityQueue(Of TElement, TPriority)

Parâmetros de Tipo Genérico

TElement

Especifica o tipo de elementos na fila.

TPriority

Especifica o tipo de prioridade associada aos elementos enfileirados.

Herança
PriorityQueue<TElement,TPriority>

Observações

Implementa um min-heap quaternário com array-backs. Cada elemento é enfileirado com uma prioridade associada que determina a ordem de retirada da fila. Os elementos com a prioridade mais baixa são retirados da fila primeiro. Note-se que o tipo não garante a semântica de primeiro a entrar, primeiro a sair para elementos de igual prioridade.

Construtores

Name Description
PriorityQueue<TElement,TPriority>()

Inicializa uma nova instância da PriorityQueue<TElement,TPriority> classe.

PriorityQueue<TElement,TPriority>(IComparer<TPriority>)

Inicializa uma nova instância da PriorityQueue<TElement,TPriority> classe com o comparador de prioridade personalizado especificado.

PriorityQueue<TElement,TPriority>(IEnumerable<ValueTuple<TElement,TPriority>>, IComparer<TPriority>)

Inicializa uma nova instância da PriorityQueue<TElement,TPriority> classe que é preenchida com os elementos e prioridades especificados, bem como com o comparador de prioridades personalizado especificado.

PriorityQueue<TElement,TPriority>(IEnumerable<ValueTuple<TElement,TPriority>>)

Inicializa uma nova instância da PriorityQueue<TElement,TPriority> classe que é preenchida com os elementos e prioridades especificados.

PriorityQueue<TElement,TPriority>(Int32, IComparer<TPriority>)

Inicializa uma nova instância da PriorityQueue<TElement,TPriority> classe com a capacidade inicial especificada e o comparador de prioridades personalizados.

PriorityQueue<TElement,TPriority>(Int32)

Inicializa uma nova instância da PriorityQueue<TElement,TPriority> classe com a capacidade inicial especificada.

Propriedades

Name Description
Capacity

Obtém o número total de elementos que o armazenamento de backup da fila pode conter sem redimensionar.

Comparer

Obtém o comparador de prioridade usado pelo PriorityQueue<TElement,TPriority>.

Count

Obtém o número de elementos contidos no PriorityQueue<TElement,TPriority>.

UnorderedItems

Obtém uma coleção que enumera os elementos da fila de forma não ordenada.

Métodos

Name Description
Clear()

Remove todos os itens do PriorityQueue<TElement,TPriority>.

Dequeue()

Remove e devolve o elemento mínimo do PriorityQueue<TElement,TPriority> - ou seja, o elemento com o valor de prioridade mais baixo.

DequeueEnqueue(TElement, TPriority)

Remove o elemento mínimo e depois adiciona imediatamente o elemento especificado com prioridade associada ao PriorityQueue<TElement,TPriority>.

Enqueue(TElement, TPriority)

Adiciona o elemento especificado com prioridade associada ao PriorityQueue<TElement,TPriority>.

EnqueueDequeue(TElement, TPriority)

Adiciona o elemento especificado com prioridade associada ao PriorityQueue<TElement,TPriority>, e remove imediatamente o elemento minimal, devolvendo o resultado.

EnqueueRange(IEnumerable<TElement>, TPriority)

Enfileira uma sequência de pares de elementos ao PriorityQueue<TElement,TPriority>, todos associados à prioridade especificada.

EnqueueRange(IEnumerable<ValueTuple<TElement,TPriority>>)

Enfileira uma sequência de pares de prioridade elemental ao PriorityQueue<TElement,TPriority>.

EnsureCapacity(Int32)

Garante que o PriorityQueue<TElement,TPriority> suporte capacity aguente os itens sem expandir ainda mais o armazenamento de suporte.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
Peek()

Devolve o elemento mínimo do PriorityQueue<TElement,TPriority> sem o remover.

Remove(TElement, TElement, TPriority, IEqualityComparer<TElement>)

Remove a primeira ocorrência que é igual ao parâmetro especificado.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
TrimExcess()

Define a capacidade para o número real de itens no PriorityQueue<TElement,TPriority>, se for inferior a 90 por cento da capacidade atual.

TryDequeue(TElement, TPriority)

Remove o elemento mínimo do PriorityQueue<TElement,TPriority>, e copia-o e a sua prioridade associada para os element argumentos e priority .

TryPeek(TElement, TPriority)

Devolve um valor que indica se existe um elemento mínimo no PriorityQueue<TElement,TPriority>, e se estiver presente, copia-o e a sua prioridade associada para os element argumentos e priority . O elemento não é removido do PriorityQueue<TElement,TPriority>.

Aplica-se a