|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多
/ X" b! N0 R, Y2 M6 D
/ V5 @- Z3 M; L P8 \' ^来个例子,一看就懂+ B- p! f8 {; M; y0 @
0 f- ^" X' z7 Q% k5 J// multimap::equal_elements
8 a: v K0 Q7 t( o$ C#include <iostream> Y# R; ?! z9 a y5 q7 _- C
#include <map>; s8 k3 R1 L8 z
using namespace std;
* X# P9 \& Q0 |" a5 qint main ()0 f: Y+ H4 f* G( G/ u3 J8 O# B
{1 G' Y# s1 I, ]) T. W7 k
multimap<char,int> mymm;
5 ]' @) h3 b+ I% q9 i multimap<char,int>::iterator it;6 Z8 V) W" r) r/ T! c1 [# V
pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;+ ]# k, N5 B2 ~: h5 }% U- [2 o' N
mymm.insert(pair<char,int>('a',10));
; P4 t2 ~2 r( }' J# w mymm.insert(pair<char,int>('b',20));8 }" ?' {0 L6 p- A
mymm.insert(pair<char,int>('b',30));' V5 L3 k# Q$ P1 t! w# N
mymm.insert(pair<char,int>('b',40));
( I8 E# C& L4 ?$ J8 d mymm.insert(pair<char,int>('c',50));. k% u% g6 f7 v
mymm.insert(pair<char,int>('c',60));
* h# e4 S2 E5 R; u mymm.insert(pair<char,int>('d',60));$ u& S1 w5 P2 J
cout << "mymm contains:\n";6 T) N% M& _+ s/ K
for (char ch='a'; ch<='d'; ch++)/ y) a. b' ~* @/ U4 G) @
{7 H2 Y2 P6 b( w" O0 z1 ~, y
cout << ch << " =>";
7 }3 v- I. M5 r( @ ret = mymm.equal_range(ch);* S$ E8 b: x$ v$ t6 c) B4 T
for (it=ret.first; it!=ret.second; ++it)
" |- x6 S0 o3 i+ d. [ cout << " " << (*it).second;
- v0 g( Z" p. `: { b3 }0 x cout << endl;( T, V3 p# W, A
}
) l( ]0 S3 ]: i% r( L6 B# F return 0;
( o3 X. B- K R- v% H}
% t9 \0 A7 X# \9 _9 o& H" V$ [9 V' \) p# K4 t2 G: K' J
mymm contains:7 [% ^. u9 w0 S
a => 10
# ~& z: q1 A/ y2 u. P+ ]/ Sb => 20 30 40% V: a9 m1 }/ l" ]8 j8 M. v; d6 }
c => 50 60
7 P/ U a7 ]. pd => 60- [2 S* M* O# v' u& X+ \7 I f
8 D9 R( K6 O+ E) b9 U
|
|