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

C++ 教程基础

C++ Contrôle de flux

C++ Fonction

C++ Tableau & Chaîne

C++ Structure de données

C++ Classe & Objet

C++ Pointeurs

C++ Héritage

C++ STL Tutoriel

C++ Manuel de référence

C++ std opérateur < 使用方法及示例

C++ STL Set(集合)

L'opérateur < est une fonction surcharge non membre dans c++。Cette fonction est utilisée pour vérifier si la première collection est inférieure à d'autres collections.

Remarque : l'opérateur < compare les éléments de la collection en ordre, la comparaison s'arrête dès que le premier désaccord est trouvé.

Syntaxe

template<class T, class Compare, class Alloc>
  bool operator< (const set<T, Compare, Alloc>& lhs,
                    const set<T, Compare, Alloc>& rhs);

Paramètres

lhs:premier objet de la collection.

rhs:deuxième objet.

Valeur de retour

Si la gauche de l'objet set est inférieure à la droite de l'objet set, retourne true, sinon retourne false.

Complexité

Si la taille de lhs et rhs est différente, la complexité reste inchangée.

Sinon, la longueur maximale est lhs et rhs.

Validité de l'itérateur

Pas de changement.

Concurrence des données

On peut accéder aux conteneurs lhs et rhs.

L'accès simultané aux éléments d'un ensemble non modifié est toujours sûr.

Sécurité des exceptions

Cette fonction ne provoque pas d'exception.

Exemple1

Voyons un exemple simple, vérifiez si le premier ensemble est inférieur :

#include <iostream>
#include <set>
using namespace std;
int main () {
   set<char> m1;
   set<char> m2;
   m2.emplace('a');
   if (m1 < m2)
      cout << "L'ensemble m1inférieur à m2." << endl;
   m1 = m2;
   if (!(m1 < m2))
      cout << "L'ensemble m1不小于m2." << endl;
   return 0;
}

输出:

L'ensemble m1inférieur à m2.
L'ensemble m1不小于m2.

在上面的示例中,有两组m1和m2。m2contient un élément, tandis que m1à vide. Lorsque nous comparons deux ensembles, il affichera le message "L'ensemble m1inférieur à m2" et, après avoir mis m2affecté à m1Après cela, les deux ensembles ont des éléments égaux, puis il affichera le message "L'ensemble m1不小于m2"

Exemple2

Voyons un exemple simple :

#include <set>  
#include <iostream>  
  
int main ()  
{  
   using namespace std;  
   set<int> m1, m2, m3;  
   int i;  
  
   for (i = 1; i <3; i ++)  
   {  
      m1.insert (i);  
      m2.insert (i * i);  
      m3.insert (i - 1);  
   }  
  
   if (m1 < m2)  
      cout << "L'ensemble m1Inférieur à l'ensemble m2." << endl;  
   else  
      cout << "L'ensemble m1Non inférieur à l'ensemble m2." << endl;  
  
   if (m1 < m3)  
      cout << "L'ensemble m1Inférieur à l'ensemble m3." << endl;  
   else  
      cout << "L'ensemble m1Non inférieur à l'ensemble m3." << endl;  
}

输出:

L'ensemble m1Inférieur à l'ensemble m2.
L'ensemble m1Non inférieur à l'ensemble m3.

Exemple3

Voyons un exemple simple :

#include <iostream>
#include <set>
using namespace std;
int main ()
{
  set<int> s1, s2;
  s1.insert(10);
  s1.insert(20);
  s1.insert(30);
  
  s2 = s1;
  cout << (s1 < s2) << endl;
  s2.insert(40);
  cout << (s1 < s2) << endl;
}

输出:

0
1

Dans l'exemple ci-dessus, si le ensemble s1inférieur à s2alors il retournera1sinon retourne 0.

Exemple4

#include <set>  
#include <iostream>  
using namespace std; 
  
int main ()  
{  
   set<string> m2;
   typedef set<string> login; 
   
   m2.insert("xyz@123)"; //mot de passe stocké
   
   string password;
   
   login m1;
   
       cout << "---------Login----------" << endl << endl;
       cout << "Entrez le mot de passe : \n";
       cin >> password;       // Get value
       m1.insert(password);   // Put them in set
     cout << "Mot de passe que vous avez saisi : \n";
     for (auto it = m1.begin(); it != m1.end(); it++) {
        cout << (*it) << endl;
      }
      cout << "Mot de passe stocké dans le système : \n";
     for (auto it = m2.begin(); it != m2.end(); it++) {
        cout << (*it) << endl;
     }
  
   if (m1 < m2)  
        cout << "\nMot de passe incorrect..." << endl; 
 
   else  
        cout << "\n欢迎来到您的页面..." << endl;
      
      return 0;
}

输出:

1).
---------Login----------
密码输入 
xyz@123
密码输入的您 
xyz@123
密码存储系统中 :
xyz@123
欢迎来到您的页面...
2).
---------Login----------
密码输入 
abc@123
密码输入的您 
abc@123
密码存储系统中
xyz@123
密码错误...

在上面的示例中,有两组m1和m2。m1包含密码,第二组m2存储用户输入的密码。它检查m1是否小于m2。如果密码m1不小于m2,则登录成功,否则登录失败。

C++ STL Set(集合)