Partilhar via


Classe queue

Uma classe de adaptador do contêiner do modelo que fornece uma limitação da funcionalidade para qualquer tipo de contêiner subjacente, limitando o acesso aos elementos da frente e do backup. Os elementos podem ser adicionados regressiva ou ser removidos da frente, os elementos e podem ser inspecionados em uma ou outra extremidade da fila.

template < 
   class Type,  
   class Container = deque<Type>  
> 
class queue

Parâmetros

  • Tipo
    O tipo de dados do elemento a ser armazenado na fila

  • Container
    O tipo de contêiner subjacente usado para implementar o enfileiramento.

Comentários

Os elementos da classe Tipo estipulados no primeiro parâmetro do modelo de um objeto da fila são sinônimos com value_type e devem corresponder ao tipo de elemento na classe subjacente Contêiner do contêiner estipulado por segundo parâmetro do modelo. Tipo Deve ser assinalável, de modo que é possível copiar objetos desse tipo e atribuir valores às variáveis do tipo.

As classes subjacentes adequadas do contêiner para a fila incluem deque e lista, ou qualquer outro contêiner de sequência que oferecer suporte a operações de front, de back, de push_back, e de pop_front. A classe subjacente do contêiner são encapsuladas no adaptador de contêiner, que expõe apenas o conjunto limitado das funções de membro do contêiner da sequência como uma interface pública.

Os objetos de fila são igualdade comparável se e somente se os elementos da classe Tipo igualdade são comparáveis, e menor que são comparáveis se e somente se os elementos da classe Tipo menor que são comparáveis.

Há três tipos de adaptadores de contêineres STL definidos por: pilha, a fila, e priority_queue. Cada restringe a funcionalidade de qualquer classe subjacente do contêiner para fornecer uma interface precisamente controlada a uma estrutura de dados padrão.

  • a classe da pilha oferece suporte à última a entrar, primeiro a sair estrutura de dados (LIFO). Um bom analogue a considerar seria uma pilha de espaços em branco. Os elementos em branco () podem ser inseridos, inspecionado, ou descartado apenas a parte superior da pilha, que é o elemento mais recente na extremidade do contêiner de base. A restrição a acessar apenas o elemento superior é a razão para usar a classe de pilha.

  • A classe da fila da suporte à (primeiro a entrar, primeiro a sair estrutura de dados (FIFO). Um bom analogue a considerar seria pessoa que alinhe para um banco de caixa. Os elementos () pessoas podem ser adicionados à parte da linha e são removidos da frente da linha. A frente e para somente de uma linha podem ser inspecionadas. A restrição a acessar os elementos somente da frente e do backup é dessa forma a razão para usar a classe da fila.

  • classe de priority_queue ordenação dos elementos de forma que o elemento superior estão sempre na posição superior. Oferece suporte à inserção de um elemento e a inspeção e a remoção do elemento superior. Um bom analogue a considerar seria pessoa que alinhe em que são organizados por idade, pela altura ou, por algum outro critério.

Construtores

fila

Constrói queue que estiver vazia ou que é uma cópia de um objeto contêiner de base.

Typedefs

container_type

Um tipo que fornece o contêiner de base a ser adaptado por queue.

size_type

Um tipo de número inteiro sem sinal que pode representar o número de elementos em queue.

tipo de valor

Um tipo que representa o tipo de objeto armazenada como um elemento em queue.

Funções de membro

voltar

Retorna uma referência à última vez e o elemento adicionado recentemente regressiva de queue.

vazio

Testa se queue está vazia.

frente

Retorna uma referência ao primeiro elemento na frente de queue.

pop

Remove um elemento da frente de queue.

envio

Adiciona um elemento de volta de queue.

size

Retorna o número de elementos em queue.

Requisitos

Fila <deHeader: >

Namespace: std

Consulte também

Referência

Segurança de threads na Biblioteca Padrão C++

Biblioteca de Modelos Padrão