>  기사  >  웹 프론트엔드  >  find 함수를 사용하여 배열의 요소를 찾는 방법은 무엇입니까?

find 함수를 사용하여 배열의 요소를 찾는 방법은 무엇입니까?

WBOY
WBOY원래의
2023-11-18 12:24:001690검색

find 함수를 사용하여 배열의 요소를 찾는 방법은 무엇입니까?

프로그래밍 과정에서 배열의 요소를 찾아야 하는 경우가 많습니다. 이때 찾기 기능을 사용하면 이 작업을 쉽게 완료할 수 있습니다. 이 문서에서는 find 함수를 사용하여 배열에서 요소를 찾는 방법을 자세히 설명하고 몇 가지 코드 예제를 제공합니다.

1. find 함수 정의

C++ STL에서 find 함수는 헤더 파일 에 정의되어 있으며 다음과 같은 두 가지 오버로드 형식을 갖습니다.

  1. find(iterator first, iterator last, wait 요소 값 찾기) ): [first, last) 범위의 값을 검색하고 해당 요소를 가리키는 반복자를 반환합니다. 찾을 수 없으면 마지막 반복자를 반환합니다.
  2. find(반복자 우선, 반복자 마지막, 찾을 요소 값, 함수 cmp): 위와 동일하지만 cmp 함수를 사용하여 요소가 동일한지 확인합니다.

그 중 cmp 함수의 두 번째 버전은 다음 요구 사항을 충족해야 합니다.

  • 함수 반환 값은 bool 유형입니다.
  • 함수 매개 변수 유형은 찾을 요소의 값과 동일합니다.

2. find 함수를 사용하여 배열의 요소를 찾습니다.

정수 배열 a가 있고 여기에 요소 x가 포함되어 있는지 확인하려고 한다고 가정합니다. find 함수를 사용하여 이 작업을 완료할 수 있습니다. 구체적인 코드는 다음과 같습니다.

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
    int a[] = {1, 3, 5, 7, 9};
    int x = 5;
    int* p = find(a, a + 5, x);    // 在a数组中查找元素x
    if (p != a + 5) {    // 如果找到了,输出对应下标,否则输出未找到
        cout << "找到了,下标为:" << p - a << endl;
    } else {
        cout << "未找到" << endl;
    }
    return 0;
}

위 코드는 먼저 찾을 정수 배열 a와 요소 x를 정의한 다음 find 함수를 사용하여 요소 x를 찾습니다. 배열 a. 발견되면 배열에 있는 요소의 첨자를 출력하고, 그렇지 않으면 출력을 찾을 수 없습니다.

3. 함수 개체를 사용하여 비교 규칙을 맞춤설정하세요

find 함수의 두 번째 버전에서는 함수 개체를 사용하여 비교 규칙을 맞춤 설정할 수 있습니다. 다음 예에서는 구조체 Cmp를 정의하고 () 연산자를 오버로드하여 요소의 절대 크기에 따라 크기를 비교합니다.

#include <iostream>
#include <algorithm>
using namespace std;

struct Cmp {
    bool operator() (int x, int y) {
        return abs(x) < abs(y);
    }
};

int main() {
    int a[] = {-3, 1, -5, 7, 2};
    int x = -5;
    int* p = find(a, a + 5, x, Cmp());    // 在a数组中按照绝对值大小查找元素x
    if (p != a + 5) {
        cout << "找到了,下标为:" << p - a << endl;
    } else {
        cout << "未找到" << endl;
    }
    return 0;
}

위 코드에서는 요소의 절대값을 비교하도록 () 연산자를 오버로드하는 Cmp라는 구조로 비교 규칙을 정의합니다. find 함수에서는 정의된 규칙에 따라 검색할 함수 객체를 인스턴스화하기 위해 Cmp()를 사용합니다.

요약

이 문서에서는 C++ STL의 find 함수를 사용하여 배열에서 요소를 찾는 방법을 설명하고 몇 가지 코드 예제를 제공합니다. 비교 규칙을 사용자 정의함으로써 찾기 기능의 유연성도 보여줍니다. 실제 개발에서는 이 기사의 내용을 참조하여 프로그램에 더 나은 기능을 제공하기 위한 적절한 비교 규칙을 선택할 수 있습니다.

위 내용은 find 함수를 사용하여 배열의 요소를 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.