C++ vector::operator>() 函式



C++ `vector::operator>()` 函式用於測試第一個向量是否大於另一個向量,如果運算子左側的向量大於右側的向量,則返回 `true`,否則返回 `false`。`operator >` 按順序比較元素,比較在第一次不匹配時停止。此成員函式永遠不會丟擲異常,`operator>()` 函式的時間複雜度為線性。

語法

以下是 C++ `vector::operator>()` 函式的語法:

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

引數

  • left − 指示運算子左側的向量物件型別。
  • right − 指示運算子右側的向量物件型別。

示例 1

讓我們考慮以下示例,我們將使用 `opertor>()` 函式。

#include <iostream>
#include <vector>

int main(){
   std::vector<int> myvector1{11, 22, 33};
   std::vector<int> myvector2{74, 84, 94, 104};
   std::cout << std::boolalpha;
   std::cout << "myvector1 >  myvector2 is :  " << (myvector1 > myvector2) << '\n';
}

輸出

編譯並執行上述程式後,將產生以下結果:

myvector1 >  myvector2 is :  false

示例 2

考慮另一種情況,我們將採用字元值並進行比較。

#include <iostream>
#include <vector>

int main(){
   std::vector <char> myvector1{'W','E','L','C','O','M','E'};
   std::vector <char> myvector2{'T','P'};
   std::cout << std::boolalpha;
   std::cout << "myvector1 >  myvector2 is :  " << (myvector1 > myvector2) << '\n';
}

輸出

執行上述程式後,將產生以下結果:

myvector1 >  myvector2 is :  true

示例 3

在下面的示例中,我們將使用 `push_back()` 函式插入值並應用 `operator>()` 函式。

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

int main(void) {
   vector<int> v1 = {1, 2, 3, 4, 5};
   vector<int> v2;
   if (v1 > v2)
      cout << "v1 is greater than v2" << endl;
   v2.push_back(1);
   v2.push_back(2);
   v2.push_back(3);
   v2.push_back(4);
   v2.push_back(6);
   if (!(v1 > v2))
      cout << "v1 is not greater than v2" << endl;
   return 0;
}

輸出

執行上述程式後,將產生以下結果:

v1 is greater than v2
v1 is not greater than v2
廣告