Nonpredicate Version of adjacent_find
Nonpredicate 버전을 사용 하는 방법을 보여 줍니다 있는 adjacent_find Visual C++에서 표준 템플릿 라이브러리 (STL) 함수입니다.
template<class ForwardIterator> inline
ForwardIterator adjacent_find(
ForwardIterator First,
ForwardIterator Last
);
설명
[!참고]
프로토타입에 클래스/매개 변수 이름은 헤더 파일에서 버전이 일치 하지 않습니다.일부 가독성을 높이기 위해 수정 되었습니다.
adjacent_find 알고리즘 시퀀스의 연속 된 쌍의 일치 하는 요소를 찾습니다.adjacent_find 알고리즘이 범위의 첫 연속 일치 하는 요소를 참조 하는 반복기를 반환 합니다. (First, Last), 또는 Last 요소가 없는 경우입니다.비교를 수행 하 되 사용 하 여 operator== nonpredicate 알고리즘 버전에서.
예제
// adfind.cpp
// compile with: /EHsc
// Illustrates how to use the non-predicate version of
// adjacent_find function.
//
// Functions:
// adjacent_find - Locate a matching consecutive sequence in a range.
#include <algorithm>
#include <iostream>
using namespace std;
int main()
{
const int ARRAY_SIZE = 8 ;
int IntArray[ARRAY_SIZE] = { 1, 2, 3, 4, 4, 5, 6, 7 } ;
int *location ; // stores the position for the first pair
// of matching consecutive elements.
int i ;
// print content of IntArray
cout << "IntArray { " ;
for(i = 0; i < ARRAY_SIZE; i++)
cout << IntArray[i] << ", " ;
cout << " }" << endl ;
// Find the first pair of matching consecutive elements
// in the range [first, last + 1)
// This version performs matching using operator==
location = adjacent_find(IntArray, IntArray + ARRAY_SIZE) ;
//print the matching consecutive elements if any were found
if (location != IntArray + ARRAY_SIZE) // matching consecutive
// elements found
cout << "Found adjacent pair of matching elements: ("
<< *location << ", " << *(location + 1) << "), " <<
"at location " << location - IntArray << endl;
else // no matching consecutive elements were found
cout << "No adjacent pair of matching elements were found"
<< endl ;
}
Output
IntArray { 1, 2, 3, 4, 4, 5, 6, 7, }
Found adjacent pair of matching elements: (4, 4), at location 3
요구 사항
헤더: <algorithm>