|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多, J. q: h$ p9 D/ q: E( M% ]( F {, P" s. u
# |" e6 v# Y: [( `4 T来个例子,一看就懂0 w" D i" [: |* H9 d7 E/ }2 M4 f
7 D* X! h9 A0 d# a
// multimap::equal_elements, E) B; E$ x& _, H4 E* u1 ]
#include <iostream>
6 i" B# T z- n* n L#include <map>
' F% q. f) _0 P7 ]& }5 [using namespace std; h, _* X6 [) K' F" L2 Q/ v
int main ()8 d, }8 }# ~9 x' X* N8 P
{
* N- K- S+ t$ T, t/ o multimap<char,int> mymm;
" K3 u0 U" ] `' m+ g" k L. V$ B' H multimap<char,int>::iterator it;
5 x8 H. q- a9 }" t- u pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;
1 [; v+ `) ~6 s' R mymm.insert(pair<char,int>('a',10));6 M/ z! V2 A9 F) n3 |
mymm.insert(pair<char,int>('b',20));# n, t1 g* U5 N' {2 y7 w6 s1 M
mymm.insert(pair<char,int>('b',30));
- \: ^4 c$ E* F; W mymm.insert(pair<char,int>('b',40));
# y) b. ^- B' W* E# u+ ` mymm.insert(pair<char,int>('c',50));
, `) E" s: L6 |* f0 u mymm.insert(pair<char,int>('c',60));
8 X1 B" G4 F, Z2 n* u( z6 V! O3 a mymm.insert(pair<char,int>('d',60));: u) R! ?8 H: p9 j
cout << "mymm contains:\n";
9 e! a* c8 X" y1 f4 ]) N for (char ch='a'; ch<='d'; ch++)5 ~3 j4 Z, H, E- s6 @& I
{
1 _7 Q0 o1 q; H" V. E; B; j cout << ch << " =>";
! `' A# [3 U* Y; U) R9 x ret = mymm.equal_range(ch);
- K4 G; o$ G$ O8 W for (it=ret.first; it!=ret.second; ++it)
) k% ^4 ?( {, o! ^" }% m) f2 D3 ~ cout << " " << (*it).second;
. _5 _9 q; ]$ p6 c cout << endl;2 U9 S* w2 ^& R4 R- D- i7 k7 ^' F: L* r
}
( L' W. h& s2 t; P return 0;) |9 X4 f7 ?% F, y
}
2 i l( y( @" R" p& z+ C7 X. J5 Q. X' h8 f' {8 E9 A3 T
mymm contains:$ K$ ?% U: V5 o. Z5 ?
a => 102 G7 S1 L3 E% ]) l8 g D8 c/ ?
b => 20 30 40# M9 d3 P0 L$ q- W6 t8 f
c => 50 60! ?, g) Y' d3 N
d => 60* j4 S2 ^/ x/ a; e" c1 H
, H/ e/ S8 y1 t- \+ s |
|