|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多
; ]' Y" u0 r$ i2 w4 c* o
4 s0 i! v& G# T; H来个例子,一看就懂
' f$ d8 E1 G* n9 S' H& e+ j
+ y+ d2 G- T2 }// multimap::equal_elements$ t2 w9 X. \8 [& U2 V9 ^9 @) }, P
#include <iostream>
9 h0 r2 {! e' [/ `7 Y) d# z" |#include <map>
6 e3 `6 i! f/ h2 I, b$ Pusing namespace std;
g$ {* J [# `3 Sint main ()! s0 z; O3 s% O, O+ e. [8 [/ d3 _6 _& k
{
1 o+ m# B# ~& ^3 \* m% D' x multimap<char,int> mymm;& z0 o- E5 N5 A; b4 k' S% k
multimap<char,int>::iterator it;0 K2 N' ~! [; a6 V, Y& \! c
pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;
( z) x& ]0 s E- V7 S% X mymm.insert(pair<char,int>('a',10));
; R' f) \! o, X7 i2 A8 E* N mymm.insert(pair<char,int>('b',20));3 ~' I9 v& ]2 ~+ V
mymm.insert(pair<char,int>('b',30));7 f X" c5 L- K9 A
mymm.insert(pair<char,int>('b',40));
0 C. Z; v) u @. _' V9 D; h mymm.insert(pair<char,int>('c',50));
9 y/ m$ d) h. u: l* I mymm.insert(pair<char,int>('c',60));3 E, [& k, l! B$ {! O4 @+ f
mymm.insert(pair<char,int>('d',60));5 U- W( _5 |8 K$ M: A `
cout << "mymm contains:\n";' s+ p. @ M# J5 {+ J. l
for (char ch='a'; ch<='d'; ch++)
$ \5 b7 c/ t/ m$ J4 Z: \ { ~3 X) w# e: t! W
cout << ch << " =>";
( ?. @# l% V { ret = mymm.equal_range(ch);
1 I- V- G1 I) L for (it=ret.first; it!=ret.second; ++it)
0 x e v2 ~3 M8 i. A& Q cout << " " << (*it).second;/ L- w Q4 i4 X' x' r
cout << endl;1 v% Z0 C) i7 \ S8 C/ q( p2 h
}) f: n" V7 a3 i) g+ L- y A' t
return 0;+ H5 Y- n5 n1 `4 u! @* R- O( v0 l7 v
}* s+ G8 N0 O3 i' O
& B$ u. I. s# @mymm contains:
C0 @$ G2 t" P. V+ l% Qa => 10
/ \% S0 S* {0 V" d9 K2 U" Kb => 20 30 40" ?9 F: U& |: E6 e; n/ e6 I
c => 50 60
% W% `* h. c$ Z) P- t2 d( Fd => 60
3 K h; v4 x3 G' H8 @/ m
1 } p" r' i5 c& x |
|