15. c++ stl equal()

C++ STL 2020. 4. 5. 14:13

▣ equal(b, e, b2) : [b, e)와 [b2, b2+(e-b))의 모든 원소가 같은가?

 equal(b, e, b2, f) :  [b, e)와 [b2, b2+(e-b))의 모든 원소가 f(*p, *q)가 참인가? 

▣ v.begin() : 컨테이너의 시작 원소를 가리키는 반복자를 반환합니다

 v.end() : 컨테이너의 끝 표시 반복자를 반환합니다.

두 순차열의 원소를 비교하는 equal() 알고리즘 예제입니다.

- equal(v1.begin(), v1.end(), v2.begin()) ; 구간 [v1.begin(), v2.end())의 원소의 개수가 3개이므로 두 구간 [v1.begin(), v1.end())와 [v2.begin(), v2.begin()( + 3)의 순차열을 비교합니다. 그래서 두 순차열은 같습니다.

-  조건에 따라 두 순차열이 같은지 비교하고자 한다면 equal(b, e, b2, f) 버전을 사용합니다. f는 이항 조건자로 각 순차열의 반복자 p와 q에 대해 f(*p, *q)가 모두 참이면 equal() 알고리즘은 참으로 변합니다.

  다음은 조건자 버전 equal() 알고리즘 예제입니다.

- equal(v1.begin(), v1.end(), v2.begin(), Pred) : 두 순차열의 반복자가 각각 p와 q라면 순차열의 모든 원소에 대해 Pred(*p, *q)가 참이므로 참을 반환합니다.

Posted by 명문코딩컴퓨터
,