|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多
- k7 |5 a1 N' h- x: Y8 f) y4 ]; ^: Y2 z3 t6 u/ a. R* x
来个例子,一看就懂
: d. y5 J1 e" `, Q% h2 w. e( X( M3 f+ ]4 X: S- h0 d: ?6 p
// multimap::equal_elements' F8 r( E# f* Z1 j$ C; U& y/ U
#include <iostream>! `. [+ _# M7 R; i
#include <map>
]0 [' k* Y4 u$ ^1 uusing namespace std;3 t+ ?6 d% r3 Q( W
int main ()* `! M0 g" P! P2 c+ N
{7 w0 v+ g9 H* B; C) L) Z" _
multimap<char,int> mymm;
8 o% Y' h% b! U, x. i! v multimap<char,int>::iterator it;
8 f9 ~. Q8 ?( |- j4 `$ h& Z pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;
+ E3 {1 P6 s- F. l3 b9 x mymm.insert(pair<char,int>('a',10));& {. l1 C! w* f$ `8 b h7 z/ V
mymm.insert(pair<char,int>('b',20));9 n; p8 L9 n9 p$ b
mymm.insert(pair<char,int>('b',30));
2 c" ] u; K2 ]- Z$ p' C! ^! | mymm.insert(pair<char,int>('b',40));
0 H0 d& [; c: C E7 U mymm.insert(pair<char,int>('c',50));/ S. s" I4 _ x. e2 [4 V# n; S/ L
mymm.insert(pair<char,int>('c',60));
9 A \/ Z5 f$ T7 p mymm.insert(pair<char,int>('d',60));
4 ~" u2 u1 }: z4 d, d9 _) i9 a4 o cout << "mymm contains:\n";! a- R( r* l& H# i% f+ J# K+ I
for (char ch='a'; ch<='d'; ch++)
) F6 U( {- x$ F" |( p$ F {$ y* [- S6 ~9 ~3 `) Q
cout << ch << " =>";
# c$ ?& d% h, ^/ A, {1 @" K ret = mymm.equal_range(ch);
. N) p/ Z& Y) v+ M$ j3 X+ c6 Z- E for (it=ret.first; it!=ret.second; ++it)/ _: ?, |' l, `( r
cout << " " << (*it).second;
" C* E0 h" g5 G& y. C5 ] cout << endl;3 y+ ^0 _5 h3 [, ~; N3 S8 ]
}
: b* g) |' w. u. Q8 c% e8 ^ return 0;' }4 G0 f; }# G( X# \' ~. V' {* e
}' a0 E* o2 _4 U( o5 ~4 }# _. u
4 [- o& c1 |8 _$ c' z, h! lmymm contains:, ?/ H: v" V2 a* T! b; G1 ^
a => 10
/ k4 C8 R3 u+ V2 b$ M4 c8 Z+ \b => 20 30 40
- C5 {! q. Z6 Y1 jc => 50 60
! D5 O9 I0 R: R7 l, b$ T: q% I. od => 60& b" H$ }0 Y: Q, G; b! t f U
# l) Z+ F2 G6 X# D B# Z) w& E |
|