C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
C++ Multiset operator<C++ Multiset Operator< is a non-member overloaded function of multiset in C++. This function is used to check whether the first multiset is less than other or not. Note: Operator < sequentially compares the element of multiset and comparison will stop at first mismatch.Syntaxtemplate <class T, class Compare, class Allocator> bool operator< ( const multiset<T,Compare,Allocator>& lhs, const multiset<T,Compare,Allocator>& rhs ); Parameterlhs: First multiset object. rhs: Second multiset object. Return valueIt returns true if the left side of the multiset object is less than the right side of the multiset object otherwise false. ComplexityComplexity will be constant, if the size of lhs and rhs is different. Otherwise, up to linear in the size of lhs and rhs. Iterator validityNo changes. Data RacesContainers, lhs and rhs are accessed. Concurrently accessing the elements of unmodified multiset is always safe. Exception SafetyThis function does not throw an exception. Example 1Let's see the simple example to check whether the first multiset is less than second multiset or not: #include <iostream> #include <set> using namespace std; int main() { multiset<char> m1; multiset<char> m2; m2.emplace('a'); if (m1 < m2) cout << "Multiset m1 is less than m2." << endl; m1 = m2; if (!(m1 < m2)) cout << "Multiset m1 is not less than m2." << endl; return 0; } Output: Multiset m1 is less than m2. Multiset m1 is not less than m2. In the above example, there are two multisets m1 and m2. m2 contains one element and m1 is empty. When we compare both multisets then it will display the message "multiset m1 is less than m2" and after assigning m2 to m1 both multisets have equal element then it will display the message that "multiset m1 is not less than m2". Example 2Let's see a simple example: #include <set> #include <iostream> int main () { using namespace std; multiset <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 multiset m1 is less than the multiset m2." << endl; else cout << "The multiset m1 is not less than the multiset m2." << endl; if (m1 <m3) cout << "The multiset m1 is less than the multiset m3." << endl; else cout << "The multiset m1 is not less than the multiset m3." << endl; return 0; } Output: The multiset m1 is less than the multiset m2. The multiset m1 is not less than the multiset m3. Example 3Let's see a simple example: #include <iostream> #include <set> using namespace std; int main() { multiset<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; return 0; } Output: 0 1 In the above example if multiset s1 is less than s2 then it will return 1 otherwise 0. Example 4#include <set> #include <iostream> using namespace std; int main () { multiset<string> m2; typedef multiset<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 multiset 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 multisets m1 and m2. m1 contains password and second multiset 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 TopicC++ multiset
|