logo

Função de mapa C++

Os mapas fazem parte da C++ STL (Standard Template Library). Mapas são os contêineres associativos que armazenam pares chave-valor ordenados, nos quais cada chave é única e pode ser inserida ou excluída, mas não pode ser alterada. Os valores associados às chaves podem ser alterados.

Por exemplo: Um mapa de Funcionários onde o ID do funcionário é a chave e o nome é o valor pode ser representado como:

Chaves Valores
101 Nikita
102 Robin
103 Profundo
104 John

Sintaxe

 template <class key, map::key_type class t, map::mapped_type compare="less," map::key_compare alloc="allocator&lt;pair"> // map::allocator_type &gt; class map; </class>

Parâmetro

chave: O tipo de dados chave a ser armazenado no mapa.

tipo: O tipo de dados do valor a ser armazenado no mapa.

comparar: Uma classe de comparação que recebe dois argumentos do mesmo tipo bool e retorna um valor. Este argumento é opcional e o predicado binário less é o valor padrão.

alocar: Tipo do objeto alocador. Este argumento é opcional e o valor padrão é allocator .

iterando uma lista em java

Criando um mapa

Os mapas podem ser facilmente criados usando a seguinte instrução:

 typedef pair value_type; 

O formulário acima será usado para criar um mapa com chave do tipo Tipo de chave e valor do tipo tipo de valor. Uma coisa importante é que a chave de um mapa e os valores correspondentes são sempre inseridos como um par, você não pode inserir apenas uma chave ou apenas um valor em um mapa.

Exemplo 1

 #include #include #include #include using namespace std; int main() { map Employees; // 1) Assignment using array index notation Employees[101] = &apos;Nikita&apos;; Employees[105] = &apos;John&apos;; Employees[103] = &apos;Dolly&apos;; Employees[104] = &apos;Deep&apos;; Employees[102] = &apos;Aman&apos;; cout &lt;&lt; &apos;Employees[104]=&apos; &lt;&lt; Employees[104] &lt;&lt; endl &lt;&lt; endl; cout &lt;&lt; &apos;Map size: &apos; &lt;&lt; Employees.size() &lt;&lt; endl; cout &lt;&lt; endl &lt;&lt; &apos;Natural Order:&apos; &lt;&lt; endl; for( map::iterator ii=Employees.begin(); ii!=Employees.end(); ++ii) { cout &lt;&lt; (*ii).first &lt;&lt; &apos;: &apos; &lt;&lt; (*ii).second &lt;&lt; endl; } cout &lt;&lt; endl &lt;&lt; &apos;Reverse Order:&apos; &lt;&lt; endl; for( map::reverse_iterator ii=Employees.rbegin(); ii!=Employees.rend(); ++ii) { cout &lt;&lt; (*ii).first &lt;&lt; &apos;: &apos; &lt;&lt; (*ii).second &lt;&lt; endl; } } 

Saída:

 Employees[104]=Deep Map size: 5 Natural Order: 101: Nikita 102: Aman 103: Dolly 104: Deep 105: John Reverse Order: 105: John 104: Deep 103: Dolly 102: Aman 101: Nikita 

Funções de membro

Abaixo está a lista de todas as funções-membro do mapa:

Construtor/Destruidor

Funções Descrição
construtores Construir mapa
destruidores Destruidor de mapa
operador = Copie elementos do mapa para outro mapa.

Iteradores

Funções Descrição
começar Retorna um iterador apontando para o primeiro elemento do mapa.
começar Retorna um iterador const apontando para o primeiro elemento no mapa.
fim Retorna um iterador apontando para o passado.
um pouco Retorna um iterador constante apontando para o passado.
começar Retorna um iterador reverso apontando para o fim.
faz Retorna um iterador reverso apontando para o início.
crbegin Retorna um iterador reverso constante apontando para o fim.
acreditar Retorna um iterador reverso constante apontando para o início.

Capacidade

Funções Descrição
vazio Retorna verdadeiro se o mapa estiver vazio.
tamanho Retorna o número de elementos no mapa.
tamanho máximo Retorna o tamanho máximo do mapa.

Acesso ao Elemento

Funções Descrição
operador[] Recuperar o elemento com determinada chave.
no Recuperar o elemento com determinada chave.

Modificadores

Funções Descrição
inserir Inserir elemento no mapa.
apagar Apague elementos do mapa.
trocar Troque o conteúdo do mapa.
claro Exclua todos os elementos do mapa.
localização Construa e insira os novos elementos no mapa.
emplace_hint Construa e insira novos elementos no mapa por dica.

Observadores

Funções Descrição
chave_comp Retorne uma cópia do objeto de comparação chave.
valor_comp Retorne uma cópia do objeto de comparação de valor.

Operações

Funções Descrição
encontrar Procure um elemento com determinada chave.
contar Obtém o número de elementos correspondentes a determinada chave.
limite_inferior Retorna um iterador para o limite inferior.
limite superior Retorna um iterador para o limite superior.
intervalo_igual Retorna o intervalo de elementos que corresponde a determinada chave.

Alocador

Funções Descrição
get_allocator Retorna um objeto alocador que é usado para construir o mapa.

Funções sobrecarregadas de não membros

Funções Descrição
operador== Verifica se os dois mapas são iguais ou não.
operador!= Verifica se os dois mapas são iguais ou não.
operador< Verifica se o primeiro mapa é menor que o outro ou não.
operador<=< td> Verifica se o primeiro mapa é menor ou igual ao outro ou não.
operador> Verifica se o primeiro mapa é maior que o outro ou não.
operador>= Verifica se o primeiro mapa é maior que igual ao outro ou não.
trocar() Troca o elemento de dois mapas.