C++教程
C++控制语句
C++函数
C++数组
C++指针
C++对象
C++继承
C++多态
C++抽象
C++常用
C++ STL教程
C++迭代器
C++程序

C++ multiset operator<=

C++ multiset operator<=

C++ multiset 运算符<= 是C++中 multiset 的非成员重载函数 。此功能用于检查第一个 multiset 是否小于或等于另一个。
注意: 运算符<=按顺序比较元素,并且首先不匹配比较将停止。

语法

template <class T, class Compare, class Allocator>
bool operator<= ( const multiset<T,Compare,Allocator>& lhs,
                    const multiset<T,Compare,Allocator>& rhs );

参数

lhs : 第一个 multiset 对象。
rhs : 第二个 multiset 对象。

返回值

如果 multiset 对象的左侧小于或等于对象的右侧,则返回 true 。 multiset 对象,否则为 false 。

复杂度

如果lhs和rhs的大小不同,则复杂度将保持不变。
否则,最大长度为lhs和rhs。

迭代器有效性

没有任何变化。

数据竞争

访问容器,lhs和rhs。
同时访问未修改的 multiset 元素始终是安全的。

异常安全性

此函数不会引发异常。

示例1

让我们看一个简单的示例,检查第一个 multiset 是否为小于或等于或小于:
#include <iostream>
#include <set>
using namespace std;
int main() {
   multiset<char> m1;
   multiset<char> m2;
   m1.emplace('a');
   m2.emplace('a');
   if (m1 <= m2)
      cout << "Multiset m1 is less than or equal to m2." << endl;
   m1.emplace('b');
   if (!(m1 <= m2))
      cout << "Multiset m1 is not less than or equal to m2." << endl;
   return 0;
}
输出:
Multiset m1 is less than or equal to m2.
Multiset m1 is not less than or equal to m2.
在上面的示例中,有两个 multiset m1和m2、 m1和m2包含一个元素。当我们比较两个 multiset 时,它将显示消息" multiset m1小于或等于m2",并且在m1中添加一个额外的元素后,它将显示消息" multiset m1不小于或等于m2" 。

示例2

让我们看一个简单的示例:
#include <set>  
#include <iostream>  
  
int main ()  
{  
   using namespace std;  
   multiset <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 << "The multiset m1 is less than or equal to the multiset m2." << endl;  
   else  
      cout << "The multiset m1 is greater than the multiset m2." << endl;  
  
   if (m1 <= m3)  
      cout << "The multiset m1 is less than or equal to the multiset m3." << endl;  
   else  
      cout << "The multiset m1 is greater than the multiset m3." << endl;  
  
   if (m1 <= m4)  
      cout << "The multiset m1 is less than or equal to the multiset m4." << endl;  
   else  
      cout << "The multiset m1 is greater than the multiset m4." << endl;  
      
      return 0;
}  
输出:
The multiset m1 is less than or equal to the multiset m2.
The multiset m1 is greater than the multiset m3.
The multiset m1 is less than or equal to the multiset m4.

示例3

让我们看一个简单的示例:
#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 ;
  s1 . insert ( 40 );
  cout  <<  ( s1  <=  s2 )  << endl ; 
  
  return 0;
}
输出:
1
0
在上面的示例中,如果 multiset s1小于或等于s2,则它将返回1,否则将返回0。

示例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 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 (m2 <= m1)  
        cout << "\nWelcome to your Page..." << endl; 
   else  
        cout << "\nIncorrect Password..." << endl; 
      
      return 0;
}
输出:
1).
---------Login----------
Enter password: 
xyz@123
Password you have entered: 
xyz@123
Password stored in the system:
xyz@123
Welcome to your Page...
2).
---------Login----------
Enter password: 
abc@333
Password you have entered: 
abc@333
Password stored in the system:
xyz@123
Incorrect Password...
在上面的示例中,有两个 multiset m1和m2、 m1包含存储的密码,第二个 multiset m2存储用户输入的密码。它检查m2是否小于或等于m2、如果m2的密码小于或等于m1,则登录成功,否则登录失败。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4