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

C++ std operador < 使用方法及示例

C++ STL Set ( Conjunto )

O operador < é um conjunto de funções de sobrecarga de membros não membros em c++。Esta função é usada para verificar se o primeiro conjunto é menor que outros conjuntos.

Nota: O operador < compara os elementos do conjunto em ordem, a comparação será encerrada quando a primeira desigualdade for encontrada.

Sintaxe

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

Parâmetro

lhs:Primeiro objeto do conjunto.

rhs:Segundo objeto.

Valor de retorno

Se o lado esquerdo do objeto set for menor que o lado direito do objeto set, retorne true, caso contrário, retorne false.

Complexo

Se o tamanho de lhs e rhs for diferente, a complexidade permanecerá inalterada.

Caso contrário, o comprimento máximo é lhs e rhs.

Validade do iterador

Não houve alterações.

Concorrência de dados

Pode acessar os contêineres lhs e rhs.

Acesso simultâneo aos elementos de um conjunto não modificado sempre é seguro.

Segurança de exceção

Esta função não causará exceções.

Exemplo1

Vamos ver um exemplo simples, verificar se o primeiro conjunto é menor que:

#include <iostream>
#include <set>
using namespace std;
int main () {
   set<char> m1;
   set<char> m2;
   m2.emplace('a');
   if (m1 < m2)
      cout << "Conjunto m1Menor que m2." << endl;
   m1 = m2;
   if (!(m1 < m2))
      cout << "Conjunto m1Não menor que m2." << endl;
   return 0;
}

Saída:

Conjunto m1Menor que m2.
Conjunto m1Não menor que m2.

No exemplo acima, há dois grupos de m1E m2Se m2Contém um elemento, enquanto m1Está vazio. Quando comparamos dois conjuntos, ele mostrará a mensagem "Conjunto m1Menor que m2", e, ao comparar os conjuntos m2Atribuído a m1Depois, os dois conjuntos terão elementos iguais, então ele mostrará a mensagem "Conjunto m1Não menor que m2".

Exemplo2

Vamos ver um exemplo simples:

#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 << "Conjunto m1É menor que o conjunto m2." << endl;  
   else  
      cout << "Conjunto m1Não é menor que o conjunto m2." << endl;  
  
   if (m1 < m3)  
      cout << "Conjunto m1É menor que o conjunto m3." << endl;  
   else  
      cout << "Conjunto m1Não é menor que o conjunto m3." << endl;  
}

Saída:

Conjunto m1É menor que o conjunto m2.
Conjunto m1Não é menor que o conjunto m3.

Exemplo3

Vamos ver um exemplo simples:

#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;
}

Saída:

0
1

No exemplo acima, se o conjunto s1menor que s2então ele retornará1Se não, retorne 0.

Exemplo4

#include <set>  
#include <iostream>  
using namespace std; 
  
int main ()  
{  
   set<string> m2;
   typedef set<string> login; 
   
   m2.insert("xyz@123)"; //senha armazenada
   
   string password;
   
   login m1;
   
       cout << "---------Login----------" << endl << endl;
       cout << "Digite a senha: \n";
       cin >> password;       // Obter valor
       m1.insert(password);   // Coloque-as em conjunto
     cout << "Senha digitada: \n";
     for (auto it = m1.begin(); it != m1.end(); it++) {
        cout << (*it) << endl;
      }
      cout << "Senha armazenada no sistema:\n";
     for (auto it = m2.begin(); it != m2.end(); it++) {
        cout << (*it) << endl;
     }
  
   if (m1 < m2)  
        cout << "\nSenha incorreta..." << endl; 
 
   else  
        cout << "\nBem-vindo à sua página..." << endl;
      
      return 0;
}

Saída:

1).
---------Login----------
Insira a senha: 
xyz@123
Senha que você inseriu: 
xyz@123
Senha armazenada no sistema :
xyz@123
Bem-vindo à sua página...
2).
---------Login----------
Insira a senha: 
abc@123
Senha que você inseriu: 
abc@123
Senha armazenada no sistema:
xyz@123
Senha incorreta...

No exemplo acima, há dois grupos de m1E m2Se m1Contém a senha, o segundo grupo m2Armazena a senha inserida pelo usuário. Ela verifica m1Se for menor que m2Se a senha m1Não menor que m2Se logar com sucesso, senão falhar no login.

C++ STL Set ( Conjunto )