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

C++ Tutoriel de base

C++ Contrôle de flux

C++ Fonction

C++ Tableau & Chaîne

C++ Structure de données

C++ Classe & Objet

C++ Pointeur

C++ Héritage

C++ STL Tutoriel

C++ Manuel de référence

C++ Méthode d'utilisation et exemple de la fonction find() map

C++ STL map (conteneur)

C ++ map find()La fonction utilisée pourRechercheAvec une valeur de cléClé de valeur k des éléments。Si l'élément est trouvé, il retourne un itérateur pointant vers cet élément. Sinon, il retourne un itérateur pointant vers la fin de la map, c'est-à-dire map :: end().

Syntaxe

 iterator find(const key_type& k);             //  De C++ 11 Avant
const_iterator find(const key_type& k) const;    //De C++ 11 Commencer

Paramètre

k:指定要在map容器中搜索的键。

Valeur de retour

Si l'élément est trouvé, il retourne un itérateur pointant vers cet élément. Sinon, il retourne un itérateur pointant vers la fin de la map, c'est-à-dire map :: end().

Exemple1

Laissez-nous voir un exemple simple, rechercher un élément avec une valeur de clé donnée.

#include <iostream>
#include <map>
using namespace std;
int main(void) {
   map <char, int> m = {
            {'a', 100},
            {'b', 200},
            {'c', 300},
            {'d', 400},
            {'e', 500},
            };
   auto it = m.find('c');
   cout << "l'itérateur pointe sur " << it->first << 
      "  =  " << it->second << endl;
   return 0;
}

Sortie :

l'itérateur pointe sur c = 300

Dans l'exemple ci-dessus, la fonction find() renvoie la valeur de la clé 'c' donnée.

Exemple2

Laissez-nous voir un exemple simple pour rechercher des éléments.

#include <iostream>
#include <map>
using namespace std;
int main(void) {
   map <char, int> m = {
            {'a', 100},
            {'b', 200},
            {'c', 300},
            {'d', 400},
            {'e', 500},
            };
            
    auto it = m.find('e');
   
    if (it == m.end()) {
      cout << "Élément introuvable";
    } 
    else {
        // élément trouvé
        cout << "l'itérateur pointe sur " << it->first << "  = " << it->second << endl;
    }
    
   return 0;
}

Sortie :

l'itérateur pointe sur e = 500

Dans l'exemple ci-dessus, la fonction find() trouve la valeur de clé 'e' dans le conteneur map m. Si la valeur de clé 'e' n'est pas trouvée dans le map, il renverra un message non trouvé, sinon il affichera le map.

Exemple3

Laissez-nous voir un exemple simple.

#include <iostream>
#include <map>
 using namespace std;
int main()
{
    int n;
    map <int, char> example = {1},2},3},4},5},
    
    cout << "Entrez l'élément à rechercher: ";
    cin >> n;
 
    auto search = example.find(n);
    if (search != example.end()) {
        cout << n << "  Trouvé, la valeur est " << search->first << "  = " << search->second << '\n';
    } else {
        cout << n << "  Non trouvé\n";
    }
}

Sortie :

Entrez l'élément à rechercher: 5
5 trouvé, la valeur est 5 = e

Dans l'exemple ci-dessus, l'élément recherché est trouvé à l'aide de la fonction find() en fonction de la valeur de clé fournie par l'utilisateur.

Exemple4

Laissez-nous voir un exemple simple.

#include <iostream>
#include <map>
using namespace std;
int main ()
{
  map <char, int> mymap;
  iterator <char, int> it;
  mymap['a'] =50;
  mymap['b'] =100;
  mymap['c'] =150;
  mymap['d'] =200;
  it = mymap.find('b');
  si (it != mymap.end())
    mymap.erase (it);
  cout << "Éléments de mymap:" << '\n';
  cout << "a => " << mymap.find('a')->second << '\n';
  cout << "c => " << mymap.find('c')->second << '\n';
  cout << "d => " << mymap.find('d')->second << '\n';
  return 0;
}

Sortie :

Éléments de mymap:
a => 50
c => 150
d => 200

C++ STL map (conteneur)