logo

표준::C++에서 찾기

표준::찾기 내부에 정의된 함수입니다. 헤더 파일 주어진 범위에서 요소를 찾습니다. 주어진 시퀀스에서 지정된 요소가 처음으로 나타나는 반복자를 반환합니다. 요소를 찾을 수 없으면 끝까지 반복자가 반환됩니다.

통사론:



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