TheDeveloperBlog.com

Home | Contact Us

C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML

C++ set operator less than

C++ set operator less than with tutorial for beginners and professionals with examples on constructor, destructor, operator=(), begin(), cbegin(), cend(), end(), crbegin(), empty(), max_size(), clear(), emplace_hint(), key_comp(), swap() etc.

<< Back to CPP

C++ std operator<

Operator< is a non-member overloaded function of set in C++. This function is used to check whether the first set is less than other or not.

Note: Operator < sequentially compares the element of set and comparison will stop at first mismatch.

Syntax

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

Parameter

lhs: First set object.

rhs: Second set object.

Return value

It returns true if the left side of the set object is less than the right side of the set object otherwise false.

Complexity

Complexity will be constant, if the size of lhs and rhs is different.

Otherwise, up to linear in the size of lhs and rhs.

Iterator validity

No changes.

Data Races

Containers, lhs and rhs are accessed.

Concurrently accessing the elements of unmodified set is always safe.

Exception Safety

This function does not throw an exception.

Example 1

Let's see the simple example to check whether the first set is less than or not:

#include <iostream>
#include <set>

using namespace std;

int main() {
   set<char> m1;
   set<char> m2;

   m2.emplace('a');

   if (m1 < m2)
      cout << "Set m1 is less than m2." << endl;

   m1 = m2;

   if (!(m1 < m2))
      cout << "Set m1 is not less than m2." << endl;

   return 0;
}

Output:

Set m1 is less than m2.
Set m1 is not less than m2.

In the above example, there are two sets m1 and m2. m2 contains one element and m1 is empty. When we compare both sets then it will display the message "set m1 is less than m2" and after assigning m2 to m1 both sets have equal element then it will display the message that "set m1 is not less than m2".

Example 2

Let's see a simple example:

#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 << "The set m1 is less than the set m2." << endl;  
   else  
      cout << "The set m1 is not less than the set m2." << endl;  
  
   if (m1 <m3)  
      cout << "The set m1 is less than the set m3." << endl;  
   else  
      cout << "The set m1 is not less than the set m3." << endl;  
}  

Output:

The set m1 is less than the set m2.
The set m1 is not less than the set m3.

Example 3

Let's see a simple example:

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

Output:

0
1

In the above example if set s1 is less than s2 then it will return 1 otherwise 0.

Example 4

#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<<"Enter the password: \n";
       cin>> password;       // Get value
       m1.insert(password);   // Put them in set

     cout<<"Password you have entered: \n";
     for (auto it = m1.begin(); it != m1.end(); it++) {
        cout << (*it)<< endl;
      }
      cout<<"Password stored in the system :\n";
     for (auto it = m2.begin(); it != m2.end(); it++) {
        cout << (*it)<< endl;
     }
  
   if (m1 < m2)  

        cout << "\nIncorrect Password..." << endl; 
 
   else  
        cout << "\nWelcome to your Page..." << endl;
      
      return 0;
}

Output:

1).
---------Login----------

Enter the password: 
[email protected]
Password you have entered: 
[email protected]
Password stored in the system :
[email protected]

Welcome to your Page...


2).
---------Login----------

Enter the password: 
[email protected]
Password you have entered: 
[email protected]
Password stored in the system:
[email protected]

Incorrect Password...

In the above example, there are two sets m1 and m2. m1 contains password and second set m2 stores user's entered password. It checks whether the m1 is less than m2 or not. If password of m1 is not less than m2 then login is successful otherwise login fails.


Next TopicSet operator<=




Related Links:


Related Links

Adjectives Ado Ai Android Angular Antonyms Apache Articles Asp Autocad Automata Aws Azure Basic Binary Bitcoin Blockchain C Cassandra Change Coa Computer Control Cpp Create Creating C-Sharp Cyber Daa Data Dbms Deletion Devops Difference Discrete Es6 Ethical Examples Features Firebase Flutter Fs Git Go Hbase History Hive Hiveql How Html Idioms Insertion Installing Ios Java Joomla Js Kafka Kali Laravel Logical Machine Matlab Matrix Mongodb Mysql One Opencv Oracle Ordering Os Pandas Php Pig Pl Postgresql Powershell Prepositions Program Python React Ruby Scala Selecting Selenium Sentence Seo Sharepoint Software Spellings Spotting Spring Sql Sqlite Sqoop Svn Swift Synonyms Talend Testng Types Uml Unity Vbnet Verbal Webdriver What Wpf