Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ STL의 다중 맵 찾기( )


이 기사에서는 C++ STL에서 multimap::find() 함수의 작동, 구문 및 예제에 대해 논의합니다.

C++ STL의 멀티맵이란 무엇입니까?

멀티맵은 맵 컨테이너와 유사한 연관 컨테이너입니다. 또한 키 값과 매핑된 값의 조합으로 구성된 요소를 특정 순서로 쉽게 저장할 수 있습니다. 멀티맵 컨테이너에는 동일한 키와 연결된 여러 요소가 있을 수 있습니다. 데이터는 항상 관련 키를 사용하여 내부적으로 정렬됩니다.

multimap::find()란 무엇입니까?

multimap::find( ) C++ STL의 내장 함수로 헤더 파일에 정의되어 있습니다. find()는 키 K와 관련된 컨테이너의 요소를 검색합니다. 이 함수는 컨테이너의 단일 요소를 가리키는 반복자를 반환합니다. 컨테이너에서 요소가 발견되면 반복자를 반환합니다.

구문

iterator multimap_name.find(key);

매개변수

컨테이너에서 검색할 키를 지정하는 하나의 매개변수 키를 허용합니다.

반환 값

이 함수는 컨테이너에서 키가 있는 위치를 참조하는 반복자를 반환합니다.

입력

multimap<char, int > newmap;
newmap.insert(make_pair(‘A’, 22));
newmap.insert(make_pair(‘B’, 78));
newmap.insert(make_pair(‘C’, 66));
newmap.insert(make_pair(‘D’, 81));
newmap.insert(make_pair(’E’, 43));
newmap.find(‘D’);

출력

81

입력

multimap<char, int > newmap;
newmap.insert(make_pair(1, 15));
newmap.insert(make_pair(2, 18));
newmap.insert(make_pair(3, 45));
newmap.insert(make_pair(4, 66));
newmap.find(4);

출력

66

접근법을 따를 수 있음

  • 먼저 지도를 초기화합니다.

  • 그런 다음 Key를 사용하여 요소를 삽입합니다.

  • 그런 다음 mapfind 함수( )를 사용하여 Key의 위치를 ​​찾습니다.

  • 그런 다음 요소와 함께 원하는 키를 인쇄합니다.

위의 접근 방식을 사용하여 컨테이너에서 모든 키를 찾을 수 있으며 범위 내에서 키의 위치도 찾을 수 있습니다.

예시

#include<iostream.h>
#include<map.h>
Using namespace std;
int main( ){
   Multimap<char, int> mp;
   / / inserting the element
   mp.insert({‘b’, 23});
   mp.insert({‘a’, 46});
   mp.insert({‘c’, 78});
   mp.insert({‘e’, 11});
   mp.insert({‘d’, 34});
   cout<< “ The Key value after key c : \n” ;
   cout<< “ Key\t Element”;
   for(auto i = mp.find(‘c’); i != mp.end( ); i++)
      cout<<i-first<< “\t” << i->second << ‘\n’;
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다.

KEY ELEMENT
c 78
d 34
e 11

예시

#include<iostream.h>
#include<map.h>
Using namespace std;
int main( ){
   Multimap<char, int> mp;
   / / inserting the element
   mp.insert({‘1’, 33});
   mp.insert({‘2’, 66});
   mp.insert({‘3’, 55});
   mp.insert({‘4’, 11});
   mp.insert({‘5’, 44});
   cout<< “ The Key value after key 4 : \n” ;
   cout<< “ Key\t Element”;
   for(auto i = mp.find(‘4’); i != mp.end( ); i++)
      cout<<i-first<< “\t” << i->second << ‘\n’;
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다.

KEY ELEMENT
4 11
5 44