|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多
8 A3 F1 f! k1 X2 _! I
/ I- f! H0 q h) L+ Y' C来个例子,一看就懂4 d) r |# U4 r
* N1 J, z; j& }- \8 t+ s
// multimap::equal_elements
3 S- \9 @) f$ ]- ], T+ g2 h2 u. w#include <iostream>
4 x! M6 A# X7 T/ ] ?! w#include <map>1 U1 v' P7 z& w+ F& D5 G9 Z D
using namespace std;
9 N: p; a, p" F& f% xint main ()
7 _' i6 S% V$ p" O% D{/ ~& t" o, l) N7 n' n( Q* C
multimap<char,int> mymm;! r0 V- h# d; ^+ U1 A* n
multimap<char,int>::iterator it;
# E; C* D4 Z( h4 j$ \9 ?+ Z pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;& a" k5 O# K) d, y" X) I
mymm.insert(pair<char,int>('a',10));$ K0 ~7 E3 H* e' w
mymm.insert(pair<char,int>('b',20)); l0 t. t9 z9 J- ~
mymm.insert(pair<char,int>('b',30));
8 x( S) K: u5 u( Q mymm.insert(pair<char,int>('b',40));
0 j- D! H+ ~2 T% C% B8 d# H mymm.insert(pair<char,int>('c',50));
. z) J$ K# ]- k% ^ b- `& u* Z* H" @ mymm.insert(pair<char,int>('c',60));
+ V K& M9 j7 K' o- b1 _( \) t1 ` mymm.insert(pair<char,int>('d',60));
% j! y/ f0 E8 s7 D3 x: u cout << "mymm contains:\n";
; T! @8 h' x0 }5 G/ n: @ for (char ch='a'; ch<='d'; ch++)
7 h9 r( s; N; K! u8 n$ O3 s% S {
* s& ^; v+ T& _2 A2 w; p cout << ch << " =>";
' d! ` F d5 o. U6 {! C' ? ret = mymm.equal_range(ch);3 T& e5 J; X! c* z& D/ O
for (it=ret.first; it!=ret.second; ++it); n- q; R# i3 K6 k) D
cout << " " << (*it).second;. A* d x2 y! m
cout << endl;0 r8 R: T( O: {! }& t% E1 A; B
}
- {" E% P: i+ s3 E9 ? return 0;
, e: z6 e' r: M) K) X}
3 F! H9 P E) k3 t6 d' O8 z" ^$ M; M
mymm contains:5 E. W/ F5 `$ _
a => 10
9 {4 d! G$ N8 D% B/ x& `b => 20 30 409 w" m0 c8 H. [! K( z) ?
c => 50 60
X3 w8 r6 S' D: j3 P* v5 _4 Gd => 60
2 y: @6 j" B# H8 ?/ C) `0 j9 L q* U- `
|
|