프로그래밍 과정에서 배열의 요소를 찾아야 하는 경우가 많습니다. 이때 찾기 기능을 사용하면 이 작업을 쉽게 완료할 수 있습니다. 이 문서에서는 find 함수를 사용하여 배열에서 요소를 찾는 방법을 자세히 설명하고 몇 가지 코드 예제를 제공합니다.
1. find 함수 정의
C++ STL에서 find 함수는 헤더 파일
그 중 cmp 함수의 두 번째 버전은 다음 요구 사항을 충족해야 합니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!