Bibliothèque C ++ Unordered_map - fonction erase ()

La description

La fonction C ++ std::unordered_map::equal() renvoie une plage d'éléments correspondant à une clé spécifique.

Dans les conteneurs unordered_map, où les clés sont uniques, la plage comprendra au plus un élément. Si k ne correspond à aucune clé du conteneur, la plage renvoyée a la fin en tant que limites de plage inférieure et supérieure.

Déclaration

Voici la déclaration de la fonction std :: unordered_map :: equal () de l'en-tête std :: unordered_map.

C ++ 11

pair<iterator,iterator> equal_range(const key_type& k);
pair<const_iterator,const_iterator> equal_range(const key_type& k) const;

Paramètres

k - Clé à rechercher.

La description

La fonction C ++ std::unordered_map::erase()supprime un seul élément de la position unordered_map .

Cette fonction membre diminue la taille de unordered_map de un.

Déclaration

Voici la déclaration de la fonction std :: unordered_map :: erase () de l'en-tête std :: unordered_map.

C ++ 11

iterator erase(const_iterator position);

Paramètres

position - Itérateur de l'élément à supprimer.

Valeur de retour

Renvoie un itérateur pointant vers la position suivant immédiatement le dernier des éléments effacés.

Complexité temporelle

Constante ie O (1)

Exemple

L'exemple suivant montre l'utilisation de la fonction std :: unordered_map :: erase ().

#include <iostream>
#include <unordered_map>

using namespace std;

int main(void) {
   unordered_map<char, int> um = {
            {'a', 1},
            {'b', 2},
            {'c', 3},
            {'d', 4},
            {'e', 5}
            };

   cout << "Unordered map contains following elements before erase operation" 
      << endl;

   for (auto it = um.begin(); it != um.end(); ++it)
      cout << it->first << " = " << it->second 
         << endl;

   um.erase(um.begin());

   cout << endl;
   cout << "Unordered map contains following elements after erase operation" 
      << endl;

   for (auto it = um.begin(); it != um.end(); ++it)
      cout << it->first << " = " << it->second << endl;

   return 0;
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

Unordered map contains following elements before erase operation
e = 5
a = 1
b = 2
c = 3
d = 4
Unordered map contains following elements after erase operation
a = 1
b = 2
c = 3
d = 4