|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多' m# ?4 n D+ H9 X) t Q+ @5 L3 o7 b
{ E4 }+ {; ^& Y& e6 a% S$ E来个例子,一看就懂
& G, e. S, ?. ^* O) E1 l; k" M& h% z0 K+ H+ V4 A: i3 y
// multimap::equal_elements
$ j$ L* ~, V: M6 C1 _) h#include <iostream>/ D% N; ]* B0 O
#include <map>
8 M! @9 S3 P; ~0 \using namespace std;
' {7 {. f2 p. P$ Z7 Q6 H6 S3 C1 |int main ()
, _% K7 i% H Z1 R4 N{
$ t+ _0 w& R, `! Z* K7 A, [1 `9 G/ M multimap<char,int> mymm;3 @$ k6 m/ E2 w" Y! |( s' [ R
multimap<char,int>::iterator it;+ f9 W: l9 i) Z5 C" Q- D
pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;- z2 z' N. A( ]5 z: d
mymm.insert(pair<char,int>('a',10));& c% O8 ]$ I3 q8 X, Y% j
mymm.insert(pair<char,int>('b',20));# }7 v6 r( T- N5 j ~
mymm.insert(pair<char,int>('b',30));
: n! m( m8 B% ~3 Y5 r0 ~ mymm.insert(pair<char,int>('b',40));7 I4 s- W* g, J- ^8 Y
mymm.insert(pair<char,int>('c',50));
- W4 h1 x6 K9 A8 k8 n/ |2 A mymm.insert(pair<char,int>('c',60));! \) m) _6 B; ~* m2 V
mymm.insert(pair<char,int>('d',60));
% m# z5 y7 U" `' [5 B# ^2 ~ cout << "mymm contains:\n";
2 n2 g. A; K' ^5 K1 c7 z4 r" {! x for (char ch='a'; ch<='d'; ch++)% m4 l( z r) q1 t, A
{
- p) c: ?$ R- X: q2 J cout << ch << " =>"; J) `) b4 }, }8 U& D+ _
ret = mymm.equal_range(ch);
+ Y7 C$ z/ x q! g9 m/ }7 s1 P1 u7 i for (it=ret.first; it!=ret.second; ++it)
& g7 R3 W6 a. s7 ]: c4 x8 b) [ cout << " " << (*it).second;+ ]. f3 R1 A- V1 O+ j
cout << endl;) R, W' n7 R5 Q# K$ b- E
}, O" u4 g6 n' u) H
return 0;
) B t7 K3 O. j, p# k4 j8 f}) |, h: G/ B. q# m2 m
# {7 t- V% }. g4 H( a( A
mymm contains:
: ~' d' l2 R! E1 _( P" H* ga => 105 x% e& H% N1 z. o, R
b => 20 30 40
) m$ H" ~6 y! w' Fc => 50 602 P& _, r# f: u7 B/ P* O Z
d => 603 s3 i$ `/ y5 N2 u! s
" s/ q) \! p" k/ ~
|
|