|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多) e, \! |' {' S3 N/ A
# S+ c) `5 V8 J2 y来个例子,一看就懂
0 D" b* W v' }" G1 a
$ S7 A! V- }9 c5 W. R3 N// multimap::equal_elements! b( V& z- b. G2 B" e7 I& E3 ?, V
#include <iostream>) h) d7 _3 ?' S/ Y5 d
#include <map>3 U7 _3 Q, v6 d7 l# j9 ^9 i2 Z
using namespace std;
- c( h+ c$ f% n b; C$ a, Dint main ()+ @+ C# K2 S3 p6 a5 T7 \" l
{% h- ^5 e; }+ V% M: a$ U
multimap<char,int> mymm;8 ^9 E$ W8 y- S
multimap<char,int>::iterator it;
; I) N' x) o, r' P pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;
/ ?9 K* |3 Z' W8 c# l0 v mymm.insert(pair<char,int>('a',10));
6 U! y- X% z2 q mymm.insert(pair<char,int>('b',20));" N. M# S5 A3 ^6 K: N
mymm.insert(pair<char,int>('b',30));
; h% i" n$ I) K) w( c' w6 k mymm.insert(pair<char,int>('b',40));
9 @) a/ M# c; [. a) E u, W mymm.insert(pair<char,int>('c',50));
1 l/ m1 E8 ?/ V& V! w( ~ mymm.insert(pair<char,int>('c',60));! Y9 C/ K0 `& N1 ?
mymm.insert(pair<char,int>('d',60));
8 S. N4 W! X( W: Q cout << "mymm contains:\n";! d0 w' Z# g! H' w0 F' R1 B) L3 S
for (char ch='a'; ch<='d'; ch++)$ G5 l L! _3 o: [% Q. B8 m
{
& x; k b( j4 _6 P cout << ch << " =>";5 b0 T( Z5 b. q5 Q/ {$ X
ret = mymm.equal_range(ch);
! [+ e1 j! Y, o6 X( G3 i for (it=ret.first; it!=ret.second; ++it)
4 a. N8 V# h% I5 P: a/ w cout << " " << (*it).second;
" Z" a: D8 K+ d% v) [2 j2 Z cout << endl;
: x( o8 J1 t' R! u" [$ a }
( t# P7 N {3 h/ z/ H3 e5 S return 0;- N" r' g# [0 x v4 ^
}' J% C" @: K9 ]4 d1 D
% O& _/ U) M# p4 u0 \
mymm contains:! U0 h3 N+ l; m2 A
a => 106 ?* r, y: L. j* z3 o- N4 h
b => 20 30 40
) M, B5 I' K4 l0 p3 L- uc => 50 600 y0 G3 \9 w0 x+ t3 K
d => 60( M' S4 q! n' e
) t1 j3 {+ ^) t; E |
|