Biblioteca C ++ - <map>

Introdução ao mapa

O mapa é uma estrutura de dados semelhante a um dicionário. É uma sequência de par (chave, valor), em que apenas um valor único é associado a cada chave exclusiva. Geralmente é referido como array associativo .

No mapa, os valores-chave geralmente são usados ​​para classificar os elementos. Para dados do mapa, o tipo de chave e valor pode ser diferente e é representado como

typedef pair<const Key, T> value_type;

Mapas são normalmente implementados como árvore de pesquisa binária.

Mapas de tamanho zero também são válidos. Nesse caso, map.begin () e map.end () apontam para o mesmo local.

Definição

Abaixo está a definição de std :: map do arquivo de cabeçalho <map>

template < class Key,
           class T,
           class Compare = less<Key>,
           class Alloc = allocator<pair<const Key,T> >
           > class map;

Parâmetros

  • Key - Tipo de chave.

  • T - Tipo dos valores mapeados.

  • Compare - Um predicado binário que recebe duas chaves de elemento como argumentos e retorna um bool.

  • Alloc - Tipo de objeto alocador.

T pode ser substituído por qualquer outro tipo de dados, incluindo tipo definido pelo usuário.

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 Tipo de chave Chave (primeiro parâmetro do modelo)
2 mapped_type T (segundo parâmetro do modelo)
3 key_compare Compare (terceiro parâmetro do modelo)
4 alocator_type Alloc (quarto parâmetro do modelo)
5 value_type par <const key_type, mapped_type>
6 value_compare Classe de função aninhada para comparar elementos
7 referência alocator_type :: referência
8 const_reference alocator_type :: const_reference
9 ponteiro alocator_type :: ponteiro
10 const_pointer alocator_type :: const_pointer
11 iterador iterador bidirecional para value_type
12 const_iterator iterador bidirecional para const value_type
13 reverse_iterator iterador reverso
14 const_reverse_iterator iterador reverso constante
15 tipo de diferença ptrdiff_t
16 Tamanho Tipo size_t

Funções de <map>

Abaixo está uma lista de todos os métodos do cabeçalho <map>.

Construtores

Sr. Não. Método e Descrição
1 construtor map :: map default

Constrói um mapa vazio com zero elementos.

2 map :: map range constructor

Constrói um mapa com tantos elementos quanto no intervalo do primeiro ao último .

3 map :: construtor de cópia de mapa

Constrói um mapa com cópia de cada elemento presente no mapa existente.

4 construtor map :: map move

Constrói um mapa com o conteúdo de outro usando a semântica de movimento.

5 map :: construtor de lista de inicializador de mapa

Constrói um mapa da lista de inicialização.

Destruidor

Sr. Não. Método e Descrição
1 map :: ~ map

Destrói o objeto do mapa desalocando sua memória.

Funções de membro

Sr. Não. Método e Descrição
1 map :: at

Retorna uma referência ao valor mapeado associado à chave k .

2 map :: begin

Retorna um iterador que se refere ao primeiro elemento do mapa.

3 map :: cbegin

Retorna um iterador constante que se refere ao primeiro elemento do mapa.

4 map :: cend

Retorna um iterador constante que aponta para o elemento além do final do mapa.

5 map :: clear

Destrói o mapa removendo todos os elementos e define o tamanho do mapa como zero.

6 map :: count

Retorna o número de valores mapeados associados à chave k .

7 map :: crbegin

Retorna um iterador reverso constante que aponta para o último elemento do contêiner i.

8 map :: crend

Retorna um iterador reverso constante que aponta para o elemento teórico que precede o primeiro elemento no contêiner i.

9 map :: emplace

Estende o contêiner inserindo um novo elemento.

10 map :: emplace_hint hint version

Insere um novo elemento em um mapa usando dica como uma posição para o elemento.

11 mapa :: vazio

Testa se o mapa está vazio ou não.

12 map :: end

Retorna um iterador que aponta para o elemento anterior ao final do mapa.

13 map :: equal_range

Retorna um intervalo de elementos que correspondem a uma chave específica.

14 mapa :: apagar versão da posição

Remove um único elemento do mapa da posição .

15 mapa :: apagar versão da posição

Remove um único elemento do mapa da posição .

16 map :: apagar chave

Remove o valor mapeado associado à chave k .

17 mapa :: apagar versão do intervalo

Remove um intervalo de elemento do mapa.

18 mapa :: apagar versão do intervalo

Remove um intervalo de elemento do mapa.

19 map :: find

Encontra um elemento associado à chave k .

20 map :: get_allocator

Retorna um alocador associado ao mapa.

21 map :: inserir um único elemento

Estende o contêiner inserindo um novo elemento no mapa.

22 map :: inserir versão de dica

Estende o contêiner inserindo um novo elemento no mapa.

23 mapa :: inserir versão do intervalo

Estende o contêiner inserindo novos elementos no mapa.

24 map :: insert move hint verstion

Estende o mapa inserindo um novo elemento.

25 map :: inserir versão da lista de inicializadores

Estende o mapa inserindo um novo elemento da lista de inicializadores.

26 map :: key_comp

Retorna um objeto de função que compara as chaves, que é uma cópia do argumento do construtor deste contêiner comp .

27 map :: lower_bound

Retorna um iterador apontando para o primeiro elemento que não é menor que a chave k .

28 map :: max_size

Retorna o número máximo de elementos que podem ser mantidos por mapa.

29 map :: operator = copiar versão

Atribua novos conteúdos ao mapa substituindo os antigos e modifique o tamanho, se necessário.

30 map :: operator = mover versão

Mova o conteúdo de um mapa para outro e modifique o tamanho, se necessário.

31 map :: operator = versão da lista de inicializador

Copie os elementos da lista de inicializadores para o mapa.

32 map :: operator [] copiar versão

Se a chave k corresponder a um elemento no contêiner, o método retornará uma referência ao elemento.

33 map :: operator [] mover versão

Se a chave k corresponder a um elemento no contêiner, o método retornará uma referência ao elemento.

34 map :: rbegin

Retorna um iterador reverso que aponta para o último elemento do mapa.

35 map :: rend

Retorna um iterador reverso que aponta para a extremidade reversa do mapa i.

36 tamanho do mapa

Retorna o número de elementos presentes no mapa.

37 map :: swap

Troca o conteúdo do mapa com o conteúdo do mapa x.

38 map :: upper_bound

Retorna um iterador apontando para o primeiro elemento maior que a chave k .

39 map :: value_comp

Retorna um objeto de função que compara objetos do tipo std :: map :: value_type .

Funções sobrecarregadas de não membros

Sr. Não. Método e Descrição
1 operador ==

Testa se dois mapas são iguais ou não.

2 operador! =

Testa se dois mapas são iguais ou não.

3 operador <

Testa se o primeiro mapa é menor que o outro ou não.

4 map :: operator <=

Testa se o primeiro mapa é menor ou igual a outro ou não.

5 operador>

Testa se o primeiro mapa é maior que o outro ou não.

6 operador> =

Testa se o primeiro mapa é maior ou igual a outro ou não.

7 troca()

Troca o conteúdo do mapa com o conteúdo do mapa x.

Introdução ao multimapa

Multimap é uma estrutura de dados semelhante a um dicionário. É uma sequência de pares (chave, valor) , onde vários valores podem ser associados a chaves equivalentes. Geralmente é referido como array associativo .

Em valores-chave multimapa, geralmente usados ​​para classificar os elementos. Para dados multimap, o tipo de chave e valor pode ser diferente e é representado como

typedef pair<const Key, T> value_type;

Multimaps normalmente são implementados como árvore de pesquisa binária.

Multimaps de tamanho zero também são válidos. Nesse caso, multimap.begin () e multimap.end () apontam para o mesmo local.

Definição

Abaixo está a definição de std :: multimap do arquivo de cabeçalho <multimap>

template < class Key,
           class T,
           class Compare = less<Key>,
           class Alloc = allocator<pair<const Key,T> >
           > class multimap;

Parâmetros

  • Key - Tipo de chave.

  • T - Tipo dos valores mapeados.

  • Compare - Um predicado binário que recebe duas chaves de elemento como argumentos e retorna um bool.

  • Alloc - Tipo de objeto alocador.

  • T pode ser substituído por qualquer outro tipo de dados, incluindo tipo definido pelo usuário.

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 Tipo de chave Chave (primeiro parâmetro do modelo)
2 mapped_type T (segundo parâmetro do modelo)
3 key_compare Compare (terceiro parâmetro do modelo)
4 alocator_type Alloc (quarto parâmetro do modelo)
5 value_type par <const key_type, mapped_type>
6 value_compare Classe de função aninhada para comparar elementos
7 referência alocator_type :: referência
8 const_reference alocator_type :: const_reference
9 ponteiro alocator_type :: ponteiro
10 const_pointer alocator_type :: const_pointer
11 iterador iterador bidirecional para value_type
12 const_iterator iterador bidirecional para const value_type
13 reverse_iterator iterador reverso
14 const_reverse_iterator iterador reverso constante
15 tipo de diferença ptrdiff_t
16 Tamanho Tipo size_t

Funções de <multimap>

Abaixo está uma lista de todos os métodos do cabeçalho <multimap>.

Construtores

Sr. Não. Método e Descrição
1 construtor multimap :: multimap default

Constrói um multimapa vazio com zero elementos.

2 construtor multimap :: multimap range

Constrói um multimapa com tantos elementos quanto na faixa do primeiro ao último .

3 multimap :: construtor de cópia multimap

Constrói um multimapa com cópia de cada elemento presente no multimapa existente.

4 construtor multimap :: multimap move

Constrói um multimapa com o conteúdo de outro usando a semântica de movimento.

5 construtor de lista de inicializador multimap :: multimap

Constrói um multimapa a partir da lista de inicialização.

Destruidor

Sr. Não. Método e Descrição
1 multimapa :: ~ multimapa

Destrói o objeto multimapa desalocando sua memória.

Funções de membro

Sr. Não. Método e Descrição
1 multimap :: begin

Retorna um iterador que se refere ao primeiro elemento do multimapa.

2 multimap :: cbegin

Retorna um iterador constante que se refere ao primeiro elemento do multimapa.

3 multimap :: cend

Retorna um iterador constante que aponta para o elemento além do final do multimapa.

4 multimap :: clear

Destrói o multimapa removendo todos os elementos e define o tamanho do multimapa como zero.

5 multimap :: count

Retorna o número de valores multimapped associados à chave k .

6 multimap :: crbegin

Retorna um iterador reverso constante que aponta para o último elemento do contêiner.

7 multimap :: crend

Retorna um iterador reverso constante que aponta para o elemento teórico anterior ao primeiro elemento no contêiner.

8 multimap :: emplace

Estende o contêiner inserindo um novo elemento.

9 multimap :: emplace_hint hint version

Insere um novo elemento em um multimapa usando dica como uma posição para o elemento.

10 multimap :: vazio

Testa se o multimapa está vazio ou não.

11 multimap :: end

Retorna um iterador que aponta para o elemento além do final no multimapa.

12 multimap :: equal_range

Retorna um intervalo de elementos que correspondem a uma chave específica.

13 multimapa :: erase position version

Remove um único elemento do multimapa da posição .

14 multimapa :: erase position version

Remove um único elemento do multimapa da posição .

15 multimap :: erase key

Remove o valor mapeado associado à chave k .

16 multimapa :: apagar versão do intervalo

Remove a gama de elementos do multimapa.

17 multimapa :: apagar versão do intervalo

Remove a gama de elementos do multimapa.

18 multimap :: find

Encontra um elemento associado à chave k .

19 multimap :: get_allocator

Retorna um alocador associado a multimap.

20 multimap :: inserir elemento único

Estende o contêiner inserindo um novo elemento no multimapa.

21 multimapa :: inserir versão de dica

Estende o contêiner inserindo um novo elemento no multimapa.

22 multimapa :: inserir versão do intervalo

Estende o contêiner inserindo novos elementos no multimapa.

23 multimap :: insert move hint verstion

Estende o multimapa inserindo um novo elemento.

24 multimap :: inserir versão da lista de inicializadores

Estende o multimapa inserindo um novo elemento da lista de inicializadores.

25 multimap :: key_comp

Retorna um objeto de função que compara as chaves, que é uma cópia do argumento do construtor deste contêiner comp .

26 multimapa :: lower_bound

Retorna um iterador apontando para o primeiro elemento que não é menor que a chave k .

27 multimap :: max_size

Retorna o número máximo de elementos que podem ser mantidos por multimap.

28 multimapa :: operador = versão de cópia

Atribua novos conteúdos ao multimapa substituindo os antigos e modifique o tamanho se necessário.

29 multimapa :: operador = mover versão

Mova o conteúdo de um multimapa para outro e modifique o tamanho, se necessário.

30 multimapa :: operador = versão da lista de inicializador

Copie elementos da lista de inicializadores para multimapa.

31 multimap :: rbegin

Retorna um iterador reverso que aponta para o último elemento do multimapa.

32 multimap :: rend

Retorna um iterador reverso que aponta para a extremidade reversa do multimapa.

33 multimap :: size

Retorna o número de elementos presentes no multimapa.

34 multimap :: swap

Troca o conteúdo do multimapa com o conteúdo do multimapa x.

35 multimap :: upper_bound

Retorna um iterador apontando para o primeiro elemento maior que a chave k .

36 multimap :: value_comp

Retorna um objeto de função que compara objetos do tipo std :: multimap :: value_type .

Funções sobrecarregadas de não membros

Sr. Não. Método e Descrição
1 operador ==

Testa se dois multimaps são iguais ou não.

2 operador! =

Testa se dois multimaps são iguais ou não.

3 operador <

Testa se o primeiro multimapa é menor que outro ou não.

4 multimapa :: operador <=

Testa se o primeiro multimapa é menor ou igual a outro ou não.

5 operador>

Testa se o primeiro multimapa é maior do que outro ou não.

6 operador> =

Testa se o primeiro multimapa é maior ou igual a outro ou não.

7 troca()

Troca o conteúdo do multimapa com o conteúdo do multimapa x.