English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ map find() 함수 사용 방법 및 예제

C++ STL map(컨테이너)

C ++ map find()함수는검색지정된키 값 k 의 요소。요소를 찾으면, 해당 요소를 가리키는 이터널을 반환합니다. 그렇지 않으면, map의 끝을 가리키는 이터널을 반환합니다. 즉, map::end()입니다.

문법

 iterator find(const key_type& k);             //  C++ 11 전
const_iterator find(const key_type& k) const;    //C++ 11 시작

매개변수

k:map 컨테이너에서 검색할 키를 지정합니다.

반환 값

요소를 찾으면, 해당 요소를 가리키는 이터널을 반환합니다. 그렇지 않으면, map의 끝을 가리키는 이터널을 반환합니다. 즉, map::end()입니다.

예제1

이제 간단한 예제를 보여드리겠습니다. 지정된 키 값을 가진 요소를 찾습니다.

#include <iostream>
#include <map>
using namespace std;
int main(void) {
   map<char, int> m = {
            {'a', 100},
            {'b', 200},
            {'c', 300},
            {'d', 400},
            {'e', 500},
            };
   auto it = m.find('c');
   cout << "迭代器指向 " << it->first << "}}" 
      " = " << it->second << endl;
   return 0;
}

출력:

迭代器指向 c = 300

위의 예제에서 find() 함수는 키 값 'c'의 값을 반환합니다.

예제2

우리는 요소를 찾는 간단한 예제를 보겠습니다.

#include <iostream>
#include <map>
using namespace std;
int main(void) {
   map<char, int> m = {
            {'a', 100},
            {'b', 200},
            {'c', 300},
            {'d', 400},
            {'e', 500},
            };
            
    auto it = m.find('e');
   
    if (it == m.end()) {
      cout << "找不到元素";
    } 
    else {
        // 找到元素
        cout << "迭代器指向 " << it->first << " = " << it->second << endl;
    }
    
   return 0;
}

출력:

迭代器指向 e = 500

위의 예제에서 find() 함수는 map 컨테이너 m에서 키 값 e를 찾습니다. map에서 키 값 e를 찾지 못하면, 그것은 "未找到" 메시지를 반환하며, 그렇지 않으면 해당 map를 표시합니다.

예제3

우리는 간단한 예제를 보겠습니다.

#include <iostream>
#include <map>
 using namespace std;
int main()
{
    int n;
    map<int, char> example = {1,'a'},{2,'b'},{3,'c'},{4,'d'},{5,'e'};
    
    cout << "输入您要搜索的元素: ";
    cin >> n;
 
    auto search = example.find(n);
    if (search != example.end()) {
        cout << n << " 找到,值是 " << search->first << " = " << search->second << '\n';
    } else {
        cout << n << " 未找到\n";
    }
}

출력:

입력하려는 요소: 5
5 找到,值是 5 = e

위의 예제에서 find() 함수를 사용하여 사용자가 제공한 키에 따라 요소를 찾습니다.

예제4

우리는 간단한 예제를 보겠습니다.

#include <iostream>
#include <map>
using namespace std;
int main ()
{
  map<char, int> mymap;
  map<char, int>::iterator it;
  mymap['a'] =50;
  mymap['b'] =100;
  mymap['c'] =150;
  mymap['d'] =200;
  it = mymap.find('b');
  if (it != mymap.end())
    mymap.erase (it);
  cout << "mymap의 요소:" << '\n';
  cout << "a => " << mymap.find('a')->second << '\n';
  cout << "c => " << mymap.find('c')->second << '\n';
  cout << "d => " << mymap.find('d')->second << '\n';
  return 0;
}

출력:

mymap의 요소:
a => 50
c => 150
d => 200

C++ STL map(컨테이너)