Biblioteca C ++ - <queue>
Introdução à fila
Fila é uma estrutura de dados projetada para operar no contexto FIFO (First in First out). Na fila, os elementos são inseridos da extremidade traseira e removidos da extremidade dianteira .
A classe da fila é um adaptador de contêiner. Container é um objeto que contém dados do mesmo tipo. A fila pode ser criada a partir de diferentes contêineres de sequência. Adaptadores de contêiner não suportam iteradores, portanto, não podemos usá-los para manipulação de dados. No entanto, eles oferecem suporte a funções de membro push () e pop () para inserção e exclusão de dados, respectivamente.
Definição
Abaixo está a definição de std :: queuer do arquivo de cabeçalho <queue>
template <class T, class Container = deque<T> > class queue;
Parâmetros
T - Tipo de elemento contido.
T pode ser substituído por qualquer outro tipo de dados, incluindo o tipo definido pelo usuário.
Container - Tipo do objeto recipiente subjacente.
Tipos de membros
Os seguintes tipos de membro podem ser usados como parâmetros ou tipo de retorno por funções de membro.
Sr. Não. | Tipos de membros | Definição |
---|---|---|
1 | value_type | T (primeiro parâmetro do modelo) |
2 | Tipo de recipiente | Segundo parâmetro do template |
3 | Tamanho Tipo | size_t |
4 | referência | value_type & |
5 | const_reference | const value_type & |
6 | tipo de diferença | ptrdiff_t |
Funções de <queue>
Abaixo está uma lista de todos os métodos do cabeçalho <queue>.
Construtores
Sr. Não. | Método e Descrição |
---|---|
1 | queue :: construtor padrão da fila Constrói um objeto de fila vazio, com zero elementos. |
2 | queue :: construtor de inicialização de fila Constrói um objeto de fila e atribui um contêiner interno por uma cópia de ctnr . |
3 | queue :: construtor de movimentação de fila Constrói a fila com o conteúdo de outra usando a semântica de movimentação. |
4 | queue :: construtor de cópia de fila Constrói uma fila com cópia de cada elemento presente na fila existente outro . |
Destruidor
Sr. Não. | Método e Descrição |
---|---|
1 | fila :: ~ fila Destrói a fila desalocando a memória do contêiner. |
Funções de membro
Sr. Não. | Método e Descrição |
---|---|
1 | fila :: voltar Retorna uma referência ao último elemento da fila. |
2 | queue :: emplace Constrói e insere novo elemento no final da fila. |
3 | fila :: vazia Testa se a fila está vazia ou não. |
4 | fila :: frente Retorna uma referência ao primeiro elemento da fila. |
5 | queue :: operator = copiar versão Atribui novos conteúdos à fila, substituindo os antigos. |
6 | fila :: operador = mover versão Atribui novos conteúdos à fila, substituindo os antigos. |
7 | fila :: pop Remove o elemento da frente da fila. |
8 | fila :: versão de cópia push Insere um novo elemento no final da fila. |
9 | fila :: versão push move Insere um novo elemento no final da fila. |
10 | fila :: tamanho Retorna o número total de elementos presentes na fila. |
11 | queue :: swap Troca o conteúdo da fila com o conteúdo de outra fila. |
Funções sobrecarregadas de não membros
Sr. Não. | Método e Descrição |
---|---|
1 | operador == Testa se duas filas são iguais ou não. |
2 | operador! = Testa se duas filas são iguais ou não. |
3 | operador < Testa se a primeira fila é menor que a outra ou não. |
4 | operador <= Testa se a primeira fila é menor ou igual a outra ou não. |
5 | operador> Testa se a primeira fila é maior que a outra ou não. |
6 | operador> = Testa se a primeira fila é maior ou igual a outra ou não. |
7 | troca Troca o conteúdo de duas filas. |
Introdução a priority_queue
A fila de prioridade é a estrutura de dados da fila que tem prioridade. A fila de prioridade é análoga à estrutura de dados de heap em que o elemento pode ser inserido em qualquer ordem e sempre o elemento de heap máximo é recuperado primeiro.
Definição
Abaixo está a definição de std :: priority_queue do arquivo de cabeçalho <queue>
template <class T, class Container = vector<T>,
class Compare = less<typename Container::value_type> < class priority_queue;
Parâmetros
T - Tipo de elemento contido.
T pode ser substituído por qualquer outro tipo de dados, incluindo o tipo definido pelo usuário.
Container - Tipo do objeto recipiente subjacente.
Compare - Objeto de comparação a ser usado para ordenar a priority_queue.
Pode ser um ponteiro de função ou objeto de função que pode comparar seus dois argumentos.
Tipos de membros
Os seguintes tipos de membro podem ser usados como parâmetros ou tipo de retorno por funções de membro.
Sr. Não. | Tipos de membros | Definição |
---|---|---|
1 | value_type | T (primeiro parâmetro do modelo) |
2 | Tipo de recipiente | Segundo parâmetro do template |
3 | Tamanho Tipo | size_t |
4 | referência | value_type & |
5 | const_reference | const value_type & |
6 | tipo de diferença | ptrdiff_t |
Funções de <queue>
Abaixo está uma lista de todos os métodos do cabeçalho <queue>.
Construtores
Sr. Não. | Método e Descrição |
---|---|
1 | priority_queue :: priority_queue construtor padrão Constrói um priority_queue vazio com zero elemento. |
2 | priority_queue :: priority_queue initialize construtor Constrói um objeto priority_queue e atribui um contêiner interno por uma cópia de ctnr . |
3 | priority_queue :: priority_queue range constructor Constrói uma priority_queue com tantos elementos no intervalo do primeiro ao último. |
4 | priority_queue :: priority_queue mover construtor Constrói o priority_queue com o conteúdo de outro usando a semântica de movimento. |
5 | priority_queue :: priority_queue copiar construtor Constrói um priority_queue com cópia de cada elemento presente no priority_queue existente outro. |
Destruidor
Sr. Não. | Método e Descrição |
---|---|
1 | priority_queue :: ~ priority_queue Destrói priority_queue desalocando a memória do contêiner. |
Funções de membro
Sr. Não. | Método e Descrição |
---|---|
1 | priority_queue :: emplace Constrói e insere um novo elemento na ordem de classificação na priority_queue. |
2 | priority_queue :: vazio Testa se pritority_queue está vazio ou não. |
3 | priority_queue :: operator = copiar versão Atribui novos conteúdos a priority_queue substituindo os antigos. |
4 | priority_queue :: operator = mover versão Atribui novos conteúdos a priority_queue substituindo os antigos. |
5 | priority_queue :: pop Remove o elemento frontal de priority_queue. |
6 | priority_queue :: push copy version Insere um novo elemento na ordem de classificação. |
7 | priority_queue :: push move version Insere um novo elemento na ordem de classificação. |
8 | priority_queue :: size Retorna o número total de elementos presentes na priority_queue. |
9 | priority_queue :: swap Troca o conteúdo de priority_queue com conteúdo de outro priority_queue. |
10 | priority_queue :: top Retorna uma referência ao primeiro elemento de priority_queue |
Funções sobrecarregadas de não membros
Sr. Não. | Método e Descrição |
---|---|
1 | troca Troca o conteúdo de priority_queue com conteúdo de outro priority_queue. |