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++ Pointeurs

C++ Héritage

C++ Tutoriel STL

C++ Manuel de référence

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

C++ Set (ensemble) STL

C ++ std Opérateur <=C ++Dans set deFonction redéfinie de membre non membre. Cette fonction est utilisée pour vérifier si le premier ensemble est inférieur ou égal à d'autres ensembles.

Remarque : l'opérateur <= compare les éléments dans l'ordre et arrête dès qu'une comparaison ne correspond pas.

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 du set.

rhs:deuxième objet.

Valeur de retour

Si la valeur de gauche de l'objet set est inférieure ou égale à la valeur de 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 celle de lhs et rhs.

Validité de l'itérateur

Il n'y a pas de changement.

Concurrence des données

Il est possible d'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 déclenche pas d'exception.

Exemple1

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

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

Sortie :

L'ensemble m1inférieur ou égal à m2.
L'ensemble m1non inférieur ou égal à m2.

Dans l'exemple ci-dessus, il y a deux groupes m1Et m2. m1Et m2"1Inférieur ou égal à m2" et indiquera que m1après avoir ajouté un élément supplémentaire, il affichera le message "L'ensemble m1non inférieur ou égal à m2"

Exemple2

Voyons un exemple simple :

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

Sortie :

L'ensemble m1inférieur ou égal à l'ensemble m2.
L'ensemble m1supérieur à l'ensemble m3.
L'ensemble m1inférieur ou égal à l'ensemble m4.

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;
  s1 . insert ( 40 );
  cout << (s1  <= s2 ) << endl; 
}

Sortie :

1
0

Dans l'exemple ci-dessus, si l'ensemble s1inférieur ou égal à 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") ; //stored password
   
   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 << "Le mot de passe que vous avez saisi:\n";
     for (auto it = m1.begin(); it != m1.end(); it++) {
        cout << (*it << endl;
      }
      cout << "Les mots de passe stockés dans le système:\n";
     for (auto it = m2.begin(); it != m2.end(); it++) {
        cout << (*it << endl;
     }
  
   if (m2 <= m1)  
        cout << "\nBienvenue sur votre page..." << endl; 
   else  
        cout << "\nMot de passe incorrect..." << endl; 
      
      return 0;
}

Sortie :

1).
---------Login----------
Entrer le mot de passe: 
xyz@123
Mot de passe que vous avez entré: 
xyz@123
Mot de passe stocké dans le système :
xyz@123
Bienvenue sur votre page...
2).
---------Login----------
Entrer le mot de passe: 
abc@333
Mot de passe que vous avez entré: 
abc@333
Mot de passe stocké dans le système:
xyz@123
Mot de passe incorrect...

Dans l'exemple ci-dessus, il y a deux groupes m1Et m2. m1Contient le mot de passe stocké, le deuxième groupe m2Stocke le mot de passe entré par l'utilisateur. Il vérifie m2Est-il inférieur ou égal à m1. Si le mot de passe m2Inférieur ou égal à m1S'il est égal ou supérieur à m, la connexion est réussie, sinon la connexion échoue.

C++ Set (ensemble) STL