|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多. w7 M3 s( j; u9 ~
" k, H. ]0 ?4 X/ w) N$ K- F5 b来个例子,一看就懂3 A4 E; a$ o/ ]/ O* }! s
1 h9 [$ x& R3 K' w1 m// multimap::equal_elements
/ D# Z/ j1 q6 b* s5 ~#include <iostream>- W2 J( p7 C' ^2 T
#include <map>: u, ]* Z) P ~0 Y6 s% _% C
using namespace std;4 \& E `5 M" p( n1 ~$ j2 m0 d
int main ()* Y8 a2 o( \6 M
{
' X, i' C9 R0 T: _4 C& K# C multimap<char,int> mymm; `7 A! m# f5 \
multimap<char,int>::iterator it;% G4 t; g6 o+ o0 g9 w) k
pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;
: P) h$ H5 U! i mymm.insert(pair<char,int>('a',10));
. Z' Z) s7 k/ h! `( j& s+ S mymm.insert(pair<char,int>('b',20));
% j8 X6 m) ~9 S5 E1 e( A mymm.insert(pair<char,int>('b',30));# l. u0 E2 Z9 K" ]3 H
mymm.insert(pair<char,int>('b',40));- N& P2 h- }5 q/ Q
mymm.insert(pair<char,int>('c',50));$ R i( @' c4 I- b
mymm.insert(pair<char,int>('c',60));
. w, i" d; P# f! g mymm.insert(pair<char,int>('d',60));
; n; ]. U T* B, ? cout << "mymm contains:\n";# W/ V0 A7 o4 \* i! y+ p
for (char ch='a'; ch<='d'; ch++)
# |5 E6 L. \0 [ {' W0 V2 q3 Q8 i7 T( r" I4 c) F
cout << ch << " =>";
: ?- T/ I+ Y; Y3 z6 p ret = mymm.equal_range(ch); r7 z7 U) f, O# s5 ]" P$ P
for (it=ret.first; it!=ret.second; ++it)
9 N: l5 T- Q4 x7 B9 ^2 w, I cout << " " << (*it).second;7 L2 \( z5 M6 l! t
cout << endl;
2 _5 [: S4 L! A; c1 i8 c8 T) ^8 x2 h }
& f7 p% a9 d* L return 0;
! u4 C9 [8 ?( `7 ?% \' E; A7 f% _}
& W( q; c& W+ O9 H$ S: B% `1 A1 c6 ^9 v2 s: R
mymm contains:
+ Z. u5 F/ o% G7 {5 @1 Ya => 10* t% u. p5 w w: H; x
b => 20 30 40
& R2 r0 O; R: x# S" |c => 50 60
2 R+ r; z+ Q, Jd => 60
/ T7 i9 a! j6 `5 q; f4 h8 n9 X) L* D) O
|
|