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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
#include <iostream>
#include<map>
#include <utility>
using namespace std;
typedef pair<int,int> pII;
typedef pair<double, pII> pDpII;
typedef multimap<double,pair<int,int> > mmDpII;
static void printIterator(const mmDpII::iterator & it);
static void printMultimap(const mmDpII & mm);
int main()
{
mmDpII mm;
pII p1(1,3);
pDpII p2(1.2,p1);
mm.insert(p2);
p1 = make_pair(1,2);
p2 = make_pair(2.4,p1);
mm.insert(p2);
p1 = make_pair(2,3);
p2 = make_pair(3.5,p1);
mm.insert(p2);
cout<<"affichage de mm"<<endl;
printMultimap(mm);
mmDpII::iterator it1,it2,it3;
it1 = mm.begin();
it2 = it1; it2++;
it3 = it2; it3++;
cout<<"affichage des iterators"<<endl;
printIterator(it1);
printIterator(it2);
printIterator(it3);
cout<<endl;
p1 = make_pair(3,4);
p2 = make_pair(2.6,p1);
mm.insert(p2);
cout<<"affichage de mm"<<endl;
printMultimap(mm);
mm.erase(it2);
cout<<"affichage de mm apres suppression de it2"<<endl;
printMultimap(mm);
cout<<endl;
printIterator(it3);
return 0;
}
static void printMultimap(const mmDpII & mm)
{
mmDpII::const_iterator it;
for(it = mm.begin() ; it != mm.end() ; it++)
cout<<"("<<it->first<<" - ("<<it->second.first<<" - "<<it->second.second<<")) "<<endl;
cout<<endl;
}
static void printIterator(const mmDpII::iterator & it)
{
cout<<"("<<it->first<<" - ("<<it->second.first<<" - "<<it->second.second<<")) "<<endl;
} |
Partager