|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多$ H/ {4 S& I0 M) v4 V3 G: D$ A
; }. j1 W; D. X' M来个例子,一看就懂
9 e' w6 _; b% F( T6 C( _ i8 [5 @) @) R& k0 [# t& M K
// multimap::equal_elements( o. f4 ~, q4 o7 D4 F
#include <iostream>
! {5 Q% Y" }" Z# _5 r5 ?3 E+ A#include <map>
7 J7 a2 C$ `( b4 w# r$ gusing namespace std;4 Y- e3 O5 @# h) A2 X1 l
int main ()
: ?/ b6 P: Z- ]9 z. J{
! W4 G3 t* ^4 ] multimap<char,int> mymm;- n1 ~+ ~4 w2 y9 T1 v2 ~+ Q8 m
multimap<char,int>::iterator it;
$ m7 t7 o$ ?) |. m9 k: \ pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;
! |5 M* D+ S6 `: {$ w+ O' V4 I& d mymm.insert(pair<char,int>('a',10));
: T( C: i3 Q/ m" M# [ mymm.insert(pair<char,int>('b',20));
' y& n; ? K" ^8 j d) U+ q mymm.insert(pair<char,int>('b',30));
- |4 `3 t( ~3 q7 @1 A mymm.insert(pair<char,int>('b',40));
' ~0 Q" w J5 j; z mymm.insert(pair<char,int>('c',50));
, [( k; I. R N+ q" e% }* I mymm.insert(pair<char,int>('c',60));
- h- w/ U0 f* ] mymm.insert(pair<char,int>('d',60));
1 ^' q( X1 O) H* G$ t- i cout << "mymm contains:\n";
# u. D. q$ L+ I for (char ch='a'; ch<='d'; ch++)
4 e0 ], e) V+ o" l {
) b) P" Y0 R8 j6 `7 V! v# X cout << ch << " =>";4 i* x, ]( H" |1 |
ret = mymm.equal_range(ch);2 F7 a5 g* g7 U: T
for (it=ret.first; it!=ret.second; ++it)
( `/ K9 U' G2 k4 O4 X2 i- p$ X cout << " " << (*it).second;; P2 {, z2 d0 S( \
cout << endl;1 `$ k M, P7 O9 z
}
/ j4 d# O( b; z+ r5 g6 A6 w4 d return 0;+ O! G0 W& K* n& W5 ~- S
}
, Y8 i, P+ }) r+ c8 f0 [, ^- ?/ `9 N) _2 m- c
mymm contains:$ ~; l' s; {: O% c% \+ K/ B
a => 10
: g! b) f" S' E( h# C& vb => 20 30 40
) s! g B9 D# G( W" x) N7 oc => 50 60# i' h+ `/ b2 k( X. r* z- I2 R
d => 601 y' w* p3 o% n
7 n# W. q& R: O6 r; } |
|