표준::찾기 내부에 정의된 함수입니다. 헤더 파일 주어진 범위에서 요소를 찾습니다. 주어진 시퀀스에서 지정된 요소가 처음으로 나타나는 반복자를 반환합니다. 요소를 찾을 수 없으면 끝까지 반복자가 반환됩니다.
통사론:
input_iterator std::find (input_iterator first , input_iterator l ast , const T& value );>
매개변수:
- first: 시퀀스의 초기 위치에 대한 반복자입니다. last: 시퀀스의 마지막 위치 바로 뒤에 위치하는 반복자입니다. (Vector.end()는 시퀀스의 마지막 위치가 아니라 시퀀스의 마지막 요소의 다음 위치를 가리킨다는 점에 유의하세요.) value: 검색할 값입니다.
반환 값:
- 값이 설립하다 시퀀스에서 해당 위치의 반복자가 반환됩니다.
- 값이 찾을 수 없음 , 마지막 위치의 반복자가 반환됩니다.
메모 : input_iterator는 사용된 컨테이너의 반복자 유형이며 티 함수 템플릿에 정의된 유형 이름입니다.
예:
C++
자바 문자열 반전하기
// C++ program to Demonstrate> // std::find for vectors> #include> // Driver code> int> main()> {> > std::vector<> int> >것{10, 20, 30, 40};> > // Iterator used to store the position> > // of searched element> > std::vector<> int> >::반복자 it;> > // Print Original Vector> > std::cout <<> 'Original vector :'> ;> > > for> (> int> i = 0; i std::cout << ' ' << vec[i]; std::cout << '
'; // Element to be searched int ser = 30; // std::find function call it = std::find(vec.begin(), vec.end(), ser); if (it != vec.end()) { std::cout << 'Element ' << ser << ' found at position : '; std::cout << it - vec.begin() << ' (counting from zero)
'; } else std::cout << 'Element not found.
'; return 0; }> |
>
>산출
Original vector : 10 20 30 40 Element 30 found at position : 2 (counting from zero)>
시간 복잡도: 에)
보조 공간: 오(1)
참고: std::find() 함수는 헤더 파일 내부에 정의됩니다. 따라서 찾기 기능을 사용하기 전에 해당 헤더 파일을 포함해야 합니다.
std::find()의 시간 복잡도는 O(n)이고 정렬되지 않은 시퀀스에서도 작동한다는 것을 알 수 있듯이 선형 검색 구현 중인 알고리즘.
관련 기사:
- 표준::검색
- std::find_if, std::find_if_not
- 표준::n번째_요소
- 표준::find_end