English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Stack (pile) ++ set find()La fonction est utilisée pourRechercheAvoirValeur val Des éléments。Si l'élément est trouvé, retourne l'itérateur pointant vers cet élément, sinon retourne l'itérateur pointant vers la fin de l'ensemble, c'est-à-dire set :: end().
iterator find(const value_type& val) const; // Stack (pile)++ 11 Avant const_iterator find(const value_type& val) const; //De C++ 11Début iterator find(const value_type& val); //De C++ 11Début
val:Spécifiez la valeur à rechercher dans le conteneur de l'ensemble.
Si l'élément est trouvé, retourne l'itérateur pointant vers cet élément, sinon retourne l'itérateur pointant vers la fin de l'ensemble, c'est-à-dire set :: end().
Taille logarithmique.
Pas de changement.
Le conteneur n'est pas modifié (version const et non const) pendant l'accès.
Pas d'accès aux valeurs de la carte : l'accès et la modification des éléments sont sécurisés simultanément.
Si une exception est levée, le conteneur n'est pas modifié.
Laissez-nous voir un exemple simple pour rechercher un élément avec une clé donnée :
#include <iostream> #include <set> using namespace std; int main(void) { set<int> m = {100,200,300,400}; auto it = m.find(300); cout << "Pointeur d'itérateur vers " << *it << endl; std::cout << '\n'; return 0;
}
Pointeur d'itérateur vers 300
Laissez-nous voir un exemple simple pour rechercher un élément :
#include <iostream> #include <set> using namespace std; int main(void) { set<char> m = {'a', 'b', 'c', 'd'}; auto it = m.find('e'); if (it == m.end()) { // Élément non trouvé cout << "Élément non trouvé"; return 0; else { // Trouvé cout << "Pointeur d'itérateur vers " << *it << endl; return 0; std::cout << '\n'; return 0;
}
Élément non trouvé
Dans l'exemple ci-dessus, la fonction find() recherche la clé e dans le ensemble m. Si la clé e n'est pas trouvée dans l'ensemble m, il renverra un message non trouvé, sinon il affichera l'ensemble.
Laissez-nous voir un exemple simple :
#include <iostream> #include <set> using namespace std; int main() { char n; set<char> example = {'a','b','c','d','e'}; cout << "Entrez l'élément à rechercher : "; cin >> n; auto search = example.find(n); if (search != example.end()) { cout << n << " 找到并且值是 " << *search << '\n'; } else { cout << n << " 未找到\n"; return 0; return 0;
}
Entrez l'élément à rechercher : Trouvé et valeur est
Dans l'exemple ci-dessus, l'élément est recherché à l'aide de la fonction find() en fonction de la valeur donnée par l'utilisateur.
Laissez-nous voir un exemple simple :
#include <iostream> #include <set> int main () { std::set<int> myset; std::set<int>::iterator it; for (int i = 1; i <= 10; i++myset.insert(i)*10 4it = myset.find( 0); 6myset.erase(myset.find( 0)); std::cout << "Mon set contient:"; ++for (it = myset.begin(); it != myset.end(); it) *std::cout << ' ' << it; std::cout << '\n'; return 0;
}
Sortie : 10 2Copyright © 3Copyright © 5Copyright © 7Copyright © 8Copyright © 9Copyright © 10Copyright ©