English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ Uso e exemplo da função end() do map

C++ STL map (container)

C ++ map end()A função é usada para retornar um iterador que está ao lado da última entrada do map.

Sintaxe

 iterator end(); // De C++ 11 Antes
const_iterator end() const; // De C++ 11 Antes
 iterator end() noexcept; //De C++ 11 Começa
const_iterator end() const noexcept;  //De C++ 11 Começa

Parâmetro

Nenhum

Retorno

Ela retorna um iterador ao lado do último elemento do map.

Exemplo1

Vamos ver um exemplo simples da função end().

#include <iostream>
#include <map>
using namespace std;
int main ()
{
  map<char,string> mymap;
  mymap['b'] = "Java";
  mymap['a'] = "C++";
  mymap['c'] = "SQL";
  for (map<char,string>::iterator it=mymap.begin(); it!=mymap.end(); ++it)
    cout << it->first << " => " << it->second << '\n';
  return 0;
}

Saída:

a => C++
b => Java
c => SQL

Aqui, a função end() é usada para retornar um iterador ao lado do último elemento do container mymap.

Exemplo2

Vamos ver um exemplo simples, usando for-O loop each percorre o map.

#include <iostream>
#include <map>
#include <string>
#include <iterator>
#include <algorithm>
 
using namespace std;
 
int main() 
{
 map<string, int> m;
 m["Sala1"] = 100;
 m["Sala2"] = 200;
 m["Sala3"] = 300;
	// Cria um iterador de mapeamento e aponta para o início do map
	map<string, int>::iterator it = m.begin();
	//Itera o map usando std::for_each e Lambda
	for_each(m.begin(), m.end(), [](pair<string, int> element){
		string word = element.first;
		int count = element.second;
		cout << word << " = " << count << endl;
	});
	return 0;
}

Saída:

Sala1 = 100
Sala2 = 200
Sala3 = 300

No exemplo acima, usamos o algoritmo STL std::for-each percorre o map. Ele itera sobre cada elemento do map e chama a função de callback fornecida.

Exemplo3

Vamos ver um exemplo simples de iteração de map usando loop while.

#include <iostream>
#include <map>
#include <string>
int main()
{
    using namespace std;
 
    map<int, string> mymap = {
                { 100, "Nikita"}},
                { 200, "Deep" }};
                { 300, "Priya" },
                { 400, "Suman" },
                { 500, "Aman" }};
    map<int, string>::const_iterator it; //Declara um iterador
    it = mymap.begin(); //Orienta o it para o início do vetor
    while (it != mymap.end())
    {
            cout << it->first << " = " << it->second << "\n"; 
            // Imprime o valor do elemento ao qual ele aponta
            ++it; //e itera para o próximo elemento
    }
 
    cout << endl;
}

Saída:

100 = Nikita
200 = Deep
300 = Priya
400 = Suman
500 = Aman

No exemplo acima, a função end() é usada para retornar um iterador que aponta para o elemento seguinte ao último do container mymap.

Exemplo4

Vamos ver um exemplo simples.

#include <iostream>
#include <string>
#include <map>
using namespace std;
int main ()
{
  map<int, int> mymap = {
                { 10, 10},
                { 20, 20 },
                { 30, 30 } };
    cout << "Elemento é:" << endl;
 
    for (map<int, int>::iterator it = mymap.begin(); it != mymap.end();) ++it){
            cout << it-first 
            " * " 
            <<it-second 
            << " = "
            <<it-first * it-second
            << '
';    
    }
  return 0;
  
  }

Saída:

O elemento é:
10 * 10 = 100
20 * 20 = 400
30 * 30 = 900

No exemplo acima, a função end() é usada para retornar um iterador que aponta para o elemento seguinte ao último do container mymap.

C++ STL map (container)