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



C++ vector::operator!=() 函数用于测试两个向量是否不相等,如果给定的两个向量不相等,则返回 true,否则返回 false。Operator !=() 函数首先检查两个容器的大小,如果大小相同,则按顺序比较元素,并在第一次不匹配时停止比较。此成员函数永远不会抛出异常,并且 operator!=() 函数的时间复杂度为线性。

语法

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

template <class T, class Alloc>
bool operator!= (const vector<T,Alloc>& lhs, const vector<T,Alloc>& rhs); 

参数

  • lhs - 表示第一个向量
  • rhs - 表示第二个向量

示例 1

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

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

int main(void) {
   vector<int> v1;
   vector<int> v2;
   v1.resize(10, 100);
   if (v1 != v2)
      cout << "v1 and v2 are not equal" << endl;
   v1 = v2;
   if (!(v1 != v2))
      cout << "v1 and v2 are equal" << endl;
   return 0;
}

输出

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

v1 and v2 are not equal
v1 and v2 are equal

示例 2

考虑另一种情况,我们将采用字符串值并应用 operator!=() 函数。

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

int main (){
   vector<string> myvector1 {"RS7","AUDI","MAYBACH GLS"};
   vector<string> myvector2 {"RS7","AUDI","MAYBACH GLS"};
   if (myvector1 != myvector2)
      cout<<"The Two Vectors are not equal.\n";
   else
      cout<<"The Two Vectors are equal.\n";
   return 0;
}

输出

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

The Two Vectors are equal.

示例 3

在以下示例中,我们将使用 push_back() 函数插入值,并检查向量是否相等。

#include <vector>
#include <iostream>

int main( ){
   using namespace std;
   vector <int> myvector1, myvector2;
   myvector1.push_back( 11 );
   myvector1.push_back( 113 );
   myvector2.push_back( 222 );
   myvector2.push_back( 113 );
   if ( myvector1 != myvector2 )
      cout << "Vectors are not equal." << endl;
   else
      cout << "Vectors are equal." << endl;
}

输出

当我们执行以上程序时,将产生以下结果:

Vectors are not equal.
广告