|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多
$ ^4 o2 ]2 F# P: W! Y2 ?: s( i1 R3 i" Z' ?$ c/ ~
来个例子,一看就懂; F: v' J; x6 t, \: y5 b
8 i8 { G1 E0 C// multimap::equal_elements0 \4 n* k; {9 I, F$ U/ R" x
#include <iostream>4 a5 b# J7 M/ ?1 d! o# W
#include <map>. Q# r7 @( H1 e0 l
using namespace std;3 z. V- k/ S) {! a3 c1 d5 X; m
int main ()0 F% J: w" f( B6 i) W/ N" x
{& f. f& I5 m8 ~ H9 W5 Y
multimap<char,int> mymm;
0 H$ |2 R, K: G+ C( A$ w: K5 G1 _. f multimap<char,int>::iterator it;- W& [* ^* X- {5 m1 t9 `
pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;
. y. F e: X! Y$ Y& a mymm.insert(pair<char,int>('a',10));
: T7 m. w( ]+ B( r+ b7 z mymm.insert(pair<char,int>('b',20));% F+ ^. ^% |* N# r9 i4 E+ M* [; }1 D: N
mymm.insert(pair<char,int>('b',30));9 G- W. f* L7 w2 }7 Q
mymm.insert(pair<char,int>('b',40));
0 W* n( e- Q" A mymm.insert(pair<char,int>('c',50));) t% Q( E: \) p; P7 o
mymm.insert(pair<char,int>('c',60));; F" p O: q3 P$ F0 _
mymm.insert(pair<char,int>('d',60));
, ^$ x+ i. _/ q. E: X cout << "mymm contains:\n";: C6 g% P* ?# s* S, F( d# T. d
for (char ch='a'; ch<='d'; ch++)4 }" _$ z" t& q5 d! e
{! R9 }# t- [) S
cout << ch << " =>";
2 r8 S% K: o, l, I9 ` ret = mymm.equal_range(ch);6 v% u- }' p0 _% \7 O
for (it=ret.first; it!=ret.second; ++it)1 e) R3 C) A( V
cout << " " << (*it).second;0 U) [4 M, p4 h) n [
cout << endl;
! N7 U8 E, e6 [2 R% j$ r/ X! ~( C/ g9 j }
, n% w' G9 v: ^+ c return 0;
% X/ g! v! {) G* X}7 `# b1 }' b5 y! j2 X
" a* D' M" r0 Q3 p' \mymm contains:5 C" k9 x( ~6 M9 \. T2 P
a => 10
) ]6 h0 c3 Q* |$ ?4 Q. z1 d. o4 nb => 20 30 40
& x& b, S! g- U% R* E2 w1 Vc => 50 60( o# r0 O1 Y* o; _3 U% M4 w1 O9 H. e
d => 60- X/ j; e' g: ^1 S V- \
! m V! X% k% W5 t2 g |
|