사용 방법 및 예제" />



English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ std 연산자 > 사용 방법 및 예제

C++ STL Set(집합)

연산자 >는 C입니다. ++set의 중 하나비 멤버 오버로드 함수이 함수는 첫 번째 셋이 다른 셋보다 크지 않은지 확인합니다.

주의:연산자 set의 요소를 순서대로 비교합니다. 비교는 첫 번째 불일치에서 멈춥니다.

문법

template <class T, class Compare, class Alloc>
  bool operator> ( const set<T, Compare, Alloc>& lhs,
                    const set<T, Compare, Alloc>& rhs);

매개변수

lhs:첫 번째 설정된 객체.

rhs:두 번째 객체.

반환 값

lhs와 rhs의 값을 비교하여, lhs가 rhs보다 크면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

복잡

lhs와 rhs의 크기가 다를 경우, 복잡도는 변하지 않습니다.

그렇지 않으면, 최대 길이는 lhs와 rhs입니다.

이터레이터 유효성

변화가 없습니다.

데이터 경쟁

컨테이너 lhs와 rhs에 접근할 수 있습니다.

수정되지 않은 집합의 요소에 대한 동시 접근은 항상 안전합니다.

안전한 예외 처리

이 함수는 예외를 발생시키지 않습니다.

예시1

이제 간단한 예제를 보여드리겠습니다, 첫 번째 집합이 큰지 확인합니다:

#include <iostream>
#include <set>
using namespace std;
int main() {
   set<char> m1;
   set<char> m2;
   m1.emplace('a');
   if (m1 > m2)
      cout << 
集合m1m보다 큰 m2. << endl;
   m1 = m2;
   if (!(m1 > m2))
      cout << 
集合m1m보다 작거나 같습니다2. << endl;
   return 0;
}

출력:

集合m1m보다 큰 m2.
集合m1m보다 작거나 같습니다2.

위의 예제에서 두 그룹의 m1m2m1이 하나의 요소를 포함하고 있습니다, m2이 비어 있습니다. 두 개의 집합을 비교할 때, "集合m1m보다 큰 m2"2분할된 m1이후 두 개의 집합이 같은 요소를 가지게 되면, 그 때 "集合m1m보다 작거나 같습니다2”。

예시2

이제 간단한 예제를 보여드리겠습니다:

#include <set>  
#include <iostream>  
using namespace std;
int main( )  
{  
 
   set<int> m1, m2, m3;  
   int i;  
  
   for ( i = 0 ; i < 3 ; i++ )  
   {  
      m1.insert( i );  
      m2.insert(i * i );  
      m3.insert(i - 1 );  
   }  
  
   if ( m1 > m2 )  
      cout << 
集合m1集合m보다 큰 값을 반환합니다.2. << endl;  
   else  
      cout << 
集合m1集合m보다 작지 않습니다.2. << endl;  
  
   if ( m1 > m3 )  
      cout << 
集合m1集合m보다 큰 값을 반환합니다.3. << endl;  
   else  
      cout << 
集合m1集合m보다 작지 않습니다.3. << endl;  
      
      return 0;
}

출력:

集合m1集合m보다 작지 않습니다.2.
集合m1集合m보다 큰 값을 반환합니다.3.

예시3

이제 간단한 예제를 보여드리겠습니다:

#include <iostream>
#include <set>
 
using namespace std;
int main () 
{ 
  set<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; 
}

출력:

0
1

위의 예제에서 s1s보다 큰 값을 반환합니다.2그렇다면1이 경우 0을 반환합니다.

예시4

#include <set>  
#include <iostream>  
using namespace std; 
  
int main ()  
{  
   set<string> m2;
   typedef set<string> login; 
   
   m2 = {"xyz@123"}; //저장된 id와 비밀번호
   
   string password;
   login m1;
   
       cout << "---------Login----------" << endl << endl;
       cout << 
비밀번호 입력: 
;
       cin >> password;       // Get value
       m1.insert(password);   // Put them in set
     cout << 
입력한 비밀번호 
;
     for (auto it = m1.begin(); it != m1.end(); it++) {
        cout << (*it << endl;
      }
      cout << 
시스템에 저장된 비밀번호 
;
     for (auto it = m2.begin(); it != m2.end(); it++) {
        cout << (*it << endl;
     }
   if (m2 > m1)  
        cout << 
비밀번호 오류... << endl;
   else  
        cout << "\n당신의 페이지에 오신 것을 환영합니다..." << endl;
      return 0;
}

출력:

1).
---------Login----------
비밀번호 입력: 
xyz@123
당신의 비밀번호: 
xyz@123
시스템에 저장된 비밀번호 :
xyz@123
당신의 페이지에 오신 것을 환영합니다...
2).
---------Login---------
비밀번호 입력: 
abc@123
당신의 비밀번호: 
abc@123
시스템에 저장된 비밀번호:
xyz@123
비밀번호 오류...

위의 예제에서 두 그룹의 m1m2m1저장된 비밀번호를 포함하고, 두 번째 그룹 m2사용자가 입력한 비밀번호를 저장합니다. 그녀는 m2m보다 큽니다1。비밀번호 m2m보다 작거나 같습니다1성공적으로 로그인되었으면, 로그인 실패.

C++ STL Set(집합)