Bibliothèque de cartes C ++ - fonction crend ​​()

La description

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

La plage est définie par deux itérateurs, l'un pointe vers le premier élément qui n'est pas inférieur à la clé k et l'autre pointe vers le premier élément supérieur à la clé k .

Déclaration

Voici la déclaration de la fonction std :: map :: equal_range () sous forme d'en-tête std :: map.

C ++ 98

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

Paramètres

k - Clé à rechercher.

Valeur de retour

Si l'objet est qualifié constant, la méthode renvoie une paire d'itérateur constant, sinon une paire d'itérateur non constant.

Exceptions

Cette fonction membre ne lève pas d'exception.

Complexité temporelle

Logarithmique ie O (log n)

Exemple

L'exemple suivant montre l'utilisation de la fonction std :: map :: equal_range ().

#include <iostream>
#include <map>

using namespace std;

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

   auto ret = m.equal_range('b');

   cout << "Lower bound is " << ret.first->first <<
      " = " << ret.first->second << endl;

   cout << "Upper bound is " << ret.second->first <<
      " = " << ret.second->second << endl;

   return 0;
}

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

Lower bound is b = 2
Upper bound is c = 3