|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多 D8 W7 {# K! e: R" I- b# A( I
; I" C5 J, T% ?来个例子,一看就懂
. R" U) b& C3 v& u6 c# \5 U6 J& d/ r* w/ h7 |2 V
// multimap::equal_elements; f/ Y0 }1 v) C$ p/ c1 V
#include <iostream>
$ B8 J6 U5 C+ j& q+ e* j5 M1 ~#include <map>% ~& X0 e$ A3 j# A# \! S( \7 h) h9 D
using namespace std;
1 p1 h1 }& U! X" M; M) Tint main (): s# F0 r0 x9 r$ l; L& N
{# s$ D/ Y1 Q/ _* ^, T# {! s- _! f8 W
multimap<char,int> mymm;3 b3 [% q h6 f/ \$ e* t) F2 b. H
multimap<char,int>::iterator it;
& {1 |' ~' ?- ~- W* q4 h pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;7 @9 Q* |2 `3 Y+ K' J5 s
mymm.insert(pair<char,int>('a',10));
' O, Q5 V% w) Q3 {1 l+ v mymm.insert(pair<char,int>('b',20));
$ R+ L' |8 X2 m, A) W mymm.insert(pair<char,int>('b',30));
. C; i) `0 b' i/ i H mymm.insert(pair<char,int>('b',40));7 n% H) K* c" N# Q! S/ N* Y( R
mymm.insert(pair<char,int>('c',50));
" T0 j. b( s+ y; ~9 g* s k mymm.insert(pair<char,int>('c',60));
0 c# t' ?9 K& M# L7 M' g& L$ b mymm.insert(pair<char,int>('d',60));/ q" @3 n, ]' N/ n8 z4 F
cout << "mymm contains:\n";3 @3 ^: l. f' f! T! u
for (char ch='a'; ch<='d'; ch++)/ o: H" C+ X* q! H7 `, Q
{* i- E- a+ q1 r6 V" ?6 n- x
cout << ch << " =>";6 ^ K$ u# o6 l
ret = mymm.equal_range(ch);& E. g6 r) v; @
for (it=ret.first; it!=ret.second; ++it)
M$ R9 Z( P; a! Q( A; s) r1 i2 p3 I cout << " " << (*it).second;% }% X! F+ I: L
cout << endl;
8 N0 @3 @3 x# ^+ s! }, u }' }7 J; J: s% u O( P3 k
return 0;) I2 b; G5 ]9 m
}
8 w2 J. d2 z U" r. S$ L
' w/ i1 h9 F, Umymm contains:* t( v% D) x5 A0 _3 \
a => 105 d2 V% g6 ?* N! P3 W% q$ ?
b => 20 30 40# l& ?8 A! ]% B
c => 50 606 @/ m1 e$ a! C
d => 60
. V6 d ], Y5 |7 C: K" [) Y. j( {9 H: o& s5 J
|
|