English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C ++ set find()함수는검색에 사용되는지정된값 val 의 요소요소를 찾으면 해당 요소를 가리키는 이터널을 반환하고, 그렇지 않으면 set :: end()를 가리키는 컬렉션의 끝을 가리키는 이터널을 반환합니다.
iterator find (const value_type& val) const; // C++ 11 전 const_iterator find (const value_type& val) const; //C++ 11시작 iterator find (const value_type& val); //C++ 11시작
val콜렉션 컨테이너에서 검색할 값을 지정합니다.
요소를 찾으면 해당 요소를 가리키는 이터널을 반환하고, 그렇지 않으면 set :: end()를 가리키는 컬렉션의 끝을 가리키는 이터널을 반환합니다.
대수적 크기.
변경 없음。
컨테이너는 접근할 수 없습니다(상수 버전과 비상수 버전 모두)
지도의 값을 접근하지 않음: 요소를 동시에 접근하고 수정하는 것은 안전합니다。
이상한 예외가 발생하면, 컨테이너에 어떤 변경도 없습니다。
다음은 주어진 키 값을 가진 요소를 찾는 간단한 예제를 보여줍니다:
#include <iostream> #include <set> using namespace std; int main(void) { set<int> m = {100,200,300,400}; auto it = m.find(300); cout << "迭代器指向 " << *it << endl; return 0; }
출력:
迭代器指向 300
다음은 요소를 찾는 간단한 예제를 보여줍니다:
#include <iostream> #include <set> using namespace std; int main(void) { set<char> m = {'a', 'b', 'c', 'd'}; auto it = m.find('e'); if (it == m.end()) { // 未找到元素 cout << "未找到元素"; } else { // 找到 cout << "迭代器指向 " << *it << endl; } return 0; }
출력:
未找到元素
위의 예제에서는 find() 함수가 셋 m에서 키 값 e를 찾습니다. 만약 셋 m에서 키 값 e를 찾지 못하면, 그 때는 '未找到' 메시지를 반환하며, 그렇지 않으면 셋을 표시합니다.
다음은 간단한 예제를 보여줍니다:
#include <iostream> #include <set> using namespace std; int main() { char n; set<char> example = {'a','b','c','d','e'}; cout << "输入要搜索的元素: "; cin >> n; auto search = example.find(n); if (search != example.end()) { cout << n << " 找到并且值是 " << *search << '\n'; } else { cout << n << " 未找到\n"; } }
출력:
검색할 요소를 입력하세요: b 발견되고 값은 b
위의 예제에서는 find() 함수를 사용하여 사용자가 주어진 값에 따라 요소를 찾습니다.
다음은 간단한 예제를 보여줍니다:
#include <iostream> #include <set> int main () { std::set<int> myset; std::set<int>::iterator it; for (int i = 1; i <= 10; i++myset.insert(i)*10); it = myset.find(40); myset.erase(it); myset.erase(myset.find(60)); std::cout << "myset이 포함:"; for (it = myset.begin(); it != myset.end(); ++it) std::cout << ' ' << *it; std::cout << '\n'; return 0; }
출력:
myset이 포함: 10 20 30 50 70 80 90 100