C++

연관 컨테이너(Multimap)

King94 2019. 11. 10. 17:53

multimap 특징

  • map과 거의 동일 map보기

  • key의 중복 값 허용

  • map에서 의미 없게 사용되던 lower_bound, upper_bound(), equal_range() 유용하게 사용

<C++ 코드>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include<iostream>
#include<map>
using namespace std;
int main(void)
{
    multimap<int,string> mm;
    mm.insert(pair<int,string>(1,"주연"));
    mm.insert(pair<int,string>(1,"상추"));
    mm.insert(pair<int,string>(1,"배추"));
    mm.insert({2,"성준"});
    mm.insert({3,"색이삼"});
    
    multimap<int,string> ::iterator iter;
    for(iter=mm.begin();iter!=mm.end();iter++)
    {
        cout<<iter->first<<' '<<(*iter).second<<endl;
     } 
     cout<<"1의 갯수는"<<mm.count(1)<<endl;
    
    multimap<int,string> ::iterator upper,lower;
    lower=mm.lower_bound(1);
    upper=mm.upper_bound(1);
    cout<<lower->first<<' '<<(*lower).second<<endl;
    cout<<upper->first<<' '<<(*upper).second<<endl;
    
    pair<multimap<int,string>::iterator,multimap<int,string> ::iterator > pr;
    pr=mm.equal_range(1);
    for(iter=pr.first;iter!=pr.second;iter++)
    {
        cout<<iter->first<<' '<<iter->second<<' ';
    }
    
    return 0;
    
}
cs

 

<결과 화면>