|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多
! j r& G' }2 m' r) l) t6 b0 D" T$ G4 z
来个例子,一看就懂
( g$ U4 P" E& g# J
4 H# {3 P- W" G \" k// multimap::equal_elements
" w* S+ ?: P/ N9 I8 [#include <iostream>
6 j2 b! @: s' z& o. n/ ^#include <map>
2 y( y3 Q" z$ U. y6 K1 c; ousing namespace std;2 h3 S; d1 L( W; U. l8 S* w
int main ()2 V; y2 |0 F p+ J) A' X4 [0 E
{; U2 @5 s7 F% a" Y
multimap<char,int> mymm;
2 Z4 ^& O* E3 q! c0 n" \& U* j/ Z/ Q' } multimap<char,int>::iterator it;% L; c) z$ X9 I' o" n% M4 v; W
pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;
. v4 f3 l& Z/ l6 ~! ?3 L* [& F mymm.insert(pair<char,int>('a',10));
9 V6 y5 b. g$ f( E6 c% m0 [ mymm.insert(pair<char,int>('b',20));! L" \9 d; \' _) |2 Z
mymm.insert(pair<char,int>('b',30));/ _6 V- K1 f2 t
mymm.insert(pair<char,int>('b',40));' t7 i [1 w8 N4 F V
mymm.insert(pair<char,int>('c',50));& s7 N7 f, n) {" m
mymm.insert(pair<char,int>('c',60));; E, M2 k/ ^, @% k: n* V
mymm.insert(pair<char,int>('d',60));
! t8 ~: L: c% ]* w) D8 q2 \ cout << "mymm contains:\n";
& K6 M9 b9 R" C1 e& a- C for (char ch='a'; ch<='d'; ch++). K& _+ a$ R3 q$ `$ V) T
{: l1 o5 V W6 r4 I# k
cout << ch << " =>";
; F9 \! `- f, G8 s5 M9 ` ret = mymm.equal_range(ch);
$ _7 J% z t8 Q for (it=ret.first; it!=ret.second; ++it)9 C3 n2 Y2 m! i% P) M+ Z0 d- }' ?
cout << " " << (*it).second;0 R2 H! Z: j3 {2 s
cout << endl;6 t+ w x$ m# `' J
}7 h$ E" j6 X8 i) [1 m
return 0;7 v# B# M. z" C# j, G$ c% Q& C
}
- q3 {4 f9 K) \0 |& p& Q @
3 a+ [7 @ X' q6 |( e, Pmymm contains:
# \$ D2 Y! _$ Da => 10
2 Y1 F8 r s6 B G7 ~' [b => 20 30 40% l" f) C- s2 H" v/ f2 T O$ }
c => 50 60: X/ w% X: J$ n0 p( ^. U" h; E
d => 60
- n% n. x! |0 @/ w3 V9 z2 C
# S! M- L& F$ F9 M8 l ~- Z/ v |
|