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

Stack (pile)++ Tutoriel de base

Stack (pile)++ Contrôle de flux

Stack (pile)++ Fonction

Stack (pile)++ Tableau & Chaîne

Stack (pile)++ Structure des données

Stack (pile)++ Classe & Objet

Stack (pile)++ Pointeur

Stack (pile)++ Héritage

Stack (pile)++ STL Tutoriel

Stack (pile)++ Manuel de référence

Stack (pile)++ Méthode d'utilisation et exemple de set find()

Stack (pile)++ C

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().

Syntaxe

         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

Paramètre

val:Spécifiez la valeur à rechercher dans le conteneur de l'ensemble.

Valeur de retour

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().

Complexité

Taille logarithmique.

Validité de l'itérateur

Pas de changement.

Concurrence des données

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.

Sécurité des exceptions

Si une exception est levée, le conteneur n'est pas modifié.

Exemple1

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

Exemple2

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.

Exemple3

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.

Exemple4

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 ©

Stack (pile)++ C