Compartilhar via


multiset Class

A Standard Template Library multiconjunto classe é usada para o armazenamento e recuperação de dados de uma coleção na qual os valores dos elementos contidos não precisam ser exclusivos e em que eles servem como os principais valores de acordo com a qual os dados são ordenados automaticamente.Não pode ser alterado diretamente o valor da chave de um elemento em um multiset.Em vez disso, devem ser excluídos os valores antigos e elementos com os novos valores inseridos.

template <
   class Key, 
   class Compare=less<Key>, 
   class Allocator=allocator<Key> 
>
class multiset

Parâmetros

  • Chave
    O tipo de dados do elemento a ser armazenado na multiset.

  • Compare
    O tipo que fornece um objeto de função que pode comparar dois valores de elemento como chaves de classificação para determinar sua ordem relativa a multiset.Predicado binário menos<Key> é o valor padrão.

  • Allocator
    O tipo que representa o objeto alocador armazenados que encapsula os detalhes sobre a multiset alocação e desalocação de memória.O valor padrão é alocador*<Key>.*

Comentários

A STL multiconjunto classe é:

  • Um recipiente de associação, que é um recipiente de tamanho variável que suporta a recuperação eficiente de valores de elemento com base em um valor de chave associado.

  • Reversível, pois ele fornece iteradores bidirecional para acessar seus elementos.

  • Classificado, porque seus elementos são ordenados por valores de chave dentro do contêiner de acordo com uma função de comparação especificado.

  • Múltiplo no sentido de que seus elementos não precisam ter chaves exclusivas, para que um valor de chave pode ter muitos valores de elemento associados a ele.

  • Um simple recipiente associativo porque seus valores de elemento são seus valores de chaves.

  • Uma classe de modelo, porque a funcionalidade que ele fornece é tão independente do tipo de dados contidos como elementos específico e genéricos.O tipo de dados a ser usado em vez disso, é, especificado como um parâmetro do modelo de classe junto com a função de comparação e alocador.

O iterador fornecido pela classe multiset é um iterador bidirecional, mas as funções de membro de classe Inserir e multiset tem versões que tomar como parâmetros de modelo um iterador de entrada mais fraco, cujos requisitos de funcionalidade são mínimos mais daqueles garantida pela classe iteradores bidirecional.Os conceitos de iterador diferentes formam uma família relacionada por refinamentos na sua funcionalidade.Cada conceito de iterador tem seu próprio conjunto de requisitos e os algoritmos que trabalham com eles devem limitar seus pressupostos os requisitos do tipo de iterador.Pode ser considerado referência que um iterador de entrada pode ser cancelado para se referir a algum objeto e que pode ser incrementado ao iterador Avançar na seqüência.Este é um conjunto mínimo de funcionalidade, mas é suficiente para ser capaz de falar uma gama de iteradores significativamente [_First, _Last) no contexto de funções de membro da classe.

A escolha do tipo de recipiente deve ser baseada em geral o tipo de pesquisa e inserir exigidos pelo aplicativo.Recipientes associativas são otimizados para operações de pesquisa, inserção e remoção.As funções de membro explicitamente suportam essas operações são eficientes, executando-os em um tempo é em média proporcional ao logaritmo do número de elementos no contêiner.Inserir elementos invalida não iteradores e remover elementos invalida somente esses iteradores especificamente tinham apontado elementos removidos.

A multiset deve ser o recipiente associativo de escolha quando as condições associando os valores de suas chaves são satisfaz pelo aplicativo.Os elementos de um multiset podem ser vários e servem como suas próprias chaves de classificação para que as chaves não são exclusivas.Um modelo para esse tipo de estrutura é uma lista ordenada de palavras digamos, no qual as palavras podem ocorrer mais de uma vez.Tinham várias ocorrências de palavras não foi permitidas, e um conjunto teria sido a estrutura do recipiente apropriado.Se definições exclusivas foram anexadas como valores para a lista de palavras-chave exclusivas, um mapa seria uma estrutura adequada para conter dados.Se em vez disso, as definições não eram exclusivas, um vários mapeamentos seria o recipiente de escolha.

A multiset ordena a seqüência que ele controla chamando um objeto de função armazenado do tipo Compare.Este objeto armazenado é uma função de comparação que pode ser acessada chamando a função de membro key_comp.Em geral, os elementos precisam ser comparáveis apenas menos de estabelecer nesta ordem: para que, considerando os dois elementos, ele pode ser determinado em que eles são equivalentes (no sentido de que nenhuma delas é menor que o outro) ou uma é menor que o outro.Isso resulta em uma ordem entre os elementos nonequivalent.Em uma observação mais técnica, a função de comparação é um predicado binário induz uma ordem fraca estrita no sentido matemático padrão.Um predicado binário f(x,y) é um objeto de função tem dois objetos de argumento x e y e um valor de retorno de true ou false.Uma ordem imposta em um conjunto é uma fraca estrita pedidos se o predicado binário é transitiva irreflexiva e anti-simétricas e se equivalência é transitiva, onde dois objetos x e y são definidos para serem equivalentes quando ambos f(x, y) e f(y, x) são falsos.Se a condição mais forte de igualdade entre chaves substitui de equivalência, se torna a ordenação total (no sentido de que todos os elementos são classificados com relação ao outro) e as chaves correspondidas serão indiscernible uns dos outros.

w5txk7zc.collapse_all(pt-br,VS.110).gifConstrutores

multiset

Constrói um multiset isto é vazio ou isto é uma cópia de todos ou parte de um multiset.

w5txk7zc.collapse_all(pt-br,VS.110).gifTypedefs

allocator_type

Um typedef para o allocator de classe para o multiset objeto.

const_iterator

Um typedef para um iterador bidirecional que pode ler um const elemento de multiset.

const_pointer

Um typedef para um ponteiro para um const elemento em um multiset.

const_reference

Um typedef para uma referência a um const elemento armazenado em um multiset para ler e executar const operações.

const_reverse_iterator

Um typedef para um iterador bidirecional que pode ler qualquer const elemento de multiset.

difference_type

Um inteiro assinado typedef para o número de elementos de um multiset em um intervalo entre elementos apontada por iteradores.

iterador

Um typedef para um iterador bidirecional que pode ler ou modificar qualquer elemento em um multiset.

key_compare

Um typedef para um objeto de função pode comparar duas chaves para determinar a ordem relativa dos dois elementos de multiset.

key_type

Um typedef para um objeto de função pode comparar duas chaves de classificação para determinar a ordem relativa dos dois elementos de multiset.

ponteiro

Um typedef para um ponteiro para um elemento em um multiset.

referência

Um typedef para obter uma referência a um elemento armazenado em um multiset.

reverse_iterator

Um typedef para um iterador bidirecional que pode ler ou modificar um elemento em um invertido multiset.

size_type

Um tipo inteiro não assinado que pode representar o número de elementos em um multiset.

value_compare

Typedef para um objeto de função pode comparar dois elementos como chaves de classificação para determinar sua ordem relativa a multiset.

value_type

Um typedef descreve um objeto armazenado como um elemento como um multiset em sua capacidade como um valor.

w5txk7zc.collapse_all(pt-br,VS.110).gifMétodos

início

Retorna um iterador que aponta para o primeiro elemento de multiset.

Limpar

Apaga todos os elementos de um multiset.

Contagem

Retorna o número de elementos em um multiset cuja chave corresponde à chave especificada como um parâmetro.

vazio

Testa se um multiset está vazio.

fim

Retorna um iterador que aponta para o local após o último elemento em um multiset.

equal_range

Retorna um par de iteradores.O iterador primeiro nos pontos para o primeiro elemento no par um multiset com uma chave que é maior do que uma chave especificada.O iterador segundo nos pontos para o primeiro elemento no par de multiset com uma chave que é igual ou maior que a chave.

apagar

Remove um elemento ou um intervalo de elementos em um multiset de posições especificadas ou remove elementos que correspondem a uma chave especificada.

localização

Retorna um iterador que aponta para o primeiro local de um elemento em um multiset que tem uma chave igual a uma chave especificada.

get_allocator

Retorna uma cópia do allocator objeto que é usado para construir o multiset.

Inserir

Insere um elemento ou um intervalo de elementos em um multiset.

key_comp

Fornece um objeto de função pode comparar duas chaves de classificação para determinar a ordem relativa dos dois elementos de multiset.

lower_bound

Retorna um iterador para o primeiro elemento em um multiset com uma chave que é igual ou maior que uma chave especificada.

max_size

Retorna o comprimento máximo de multiset.

rbegin

Retorna um iterador que aponta para o primeiro elemento em um invertido multiset.

rend

Retorna um iterador que aponta para o local do sucesso do último elemento em um invertido multiset.

tamanho

Retorna o número de elementos em um multiset.

troca

Troca os elementos de dois multisets.

upper_bound

Retorna um iterador para o primeiro elemento em um multiset com uma chave que é maior do que uma chave especificada.

value_comp

Recupera uma cópia do objeto de comparação é usado para valores de elemento de ordem em um multiset.

Requisitos

Cabeçalho: <set>

Namespace: std

Consulte também

Referência

Segurança do thread na biblioteca C++ padrão

Standard Template Library

Outros recursos

Membros multiconjunto

<set> Membros