C++ vector::operator<=() 函数



C++ vector::operator<=() 函数用于测试第一个向量是否小于或等于另一个向量,如果运算符左侧小于或等于向量右侧的向量,则返回 true,否则返回 false。运算符 <= 按顺序比较元素,并在第一次不匹配时停止比较。此成员函数永远不会抛出异常,并且 operator<=() 函数的时间复杂度为线性。

语法

以下是 C++ vector::operator<=() 函数的语法:

bool operator<=(const vector<Type, Allocator>& left, const vector<Type, Allocator>& right);

参数

  • left - 表示运算符左侧的向量对象类型。
  • right - 表示运算符右侧的向量对象类型。

示例 1

让我们考虑以下示例,我们将使用 opertor<=() 函数。

#include <iostream>
#include <vector>
using namespace std;

int main (){
   vector<int> myvector1 {123,234,345};
   vector<int> myvector2 {123,234,345};
   if (myvector1 <= myvector2)
      cout<<"myvector1 is less than or equal to myvector2.\n";
   else
      cout<<"myvector1 is not less than or equal to myvector2.\n";
   return 0;
}

输出

当我们编译并运行上述程序时,将产生以下结果:

myvector1 is less than or equal to myvector2.

示例 2

考虑另一种情况,我们将获取字符串值并进行比较。

#include <iostream>
#include <vector>
using namespace std;

int main (){
   vector<string> myvector1 {"abc","bcd","cde"};
   vector<string> myvector2 {"abc","bcd"};
   if (myvector1 <= myvector2)
      cout<<"myvector1 is less than or equal to myvector2.\n";
   else
      cout<<"myvector1 is not less than or equal to myvector2.\n";
   return 0;
}

输出

运行上述程序后,将产生以下结果:

myvector1 is not less than or equal to myvector2.

示例 3

在以下示例中,我们将使用 push_back() 函数插入值并应用 operator<=() 函数。

#include <vector>
#include <iostream>

int main( ){ 
   using namespace std;
   vector <int> myvector1, myvector2;
   myvector1.push_back( 1 );
   myvector1.push_back( 2 );
   myvector1.push_back( 4 );
   myvector2.push_back( 1 );
   myvector2.push_back( 23 );
   if ( myvector1 <= myvector2 )
      cout << "myvector1 is less than or equal to vector myvector2." << endl;
   else
      cout << "myvector1 is greater than vector myvector2." << endl;
}

输出

执行上述程序后,将产生以下结果:

myvector1 is less than or equal to vector myvector2.
广告