|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多
/ t0 `$ n) O4 c! N0 p- y+ X. l& S4 u0 p5 Y- J! u% M: H% G
来个例子,一看就懂
* k* h: H& l l. p6 F( I1 _6 [ T$ F4 _' S$ @, ]4 p) A: X3 m
// multimap::equal_elements
- s5 z4 g' u7 O. w+ C5 l7 J#include <iostream>6 h$ w; F: `/ e- A4 D5 p
#include <map>
) b/ G* B' g! Q7 [using namespace std;0 I, M! A5 H1 ~% \3 v( p' m" v5 f
int main ()
% E9 S1 B! v8 n' s' |/ A{
' W m' n8 n* a& d multimap<char,int> mymm;
0 c- r( }/ _: _9 C: k D2 [5 f multimap<char,int>::iterator it;
4 N3 }% b3 W. J. E pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;
6 e* z# _# x2 O) T3 Q& ] mymm.insert(pair<char,int>('a',10));( v. g6 _- O( ~" \- R; {& x. C9 L
mymm.insert(pair<char,int>('b',20));5 B' }7 v4 {/ Y! z3 T. t- M9 x% d* e& v
mymm.insert(pair<char,int>('b',30));) x2 Q7 N) j: H! W
mymm.insert(pair<char,int>('b',40));
/ e# K3 b0 ]" F; w mymm.insert(pair<char,int>('c',50));8 n3 o& T1 M" ~7 }: @7 r5 O2 n
mymm.insert(pair<char,int>('c',60));- Q8 |+ g0 T- J. |) A8 ?" @( @
mymm.insert(pair<char,int>('d',60));
+ _4 E5 j& C! I/ V cout << "mymm contains:\n";
4 Y5 y7 o" Q% c" E- k7 k for (char ch='a'; ch<='d'; ch++)! H1 T0 d4 S5 S) [' J: G3 z! }
{
, }4 A- @/ w C( a N cout << ch << " =>";/ k5 U1 i1 T3 `3 J' F5 q0 A) X! c1 C1 |
ret = mymm.equal_range(ch);- m8 y1 Y6 }0 e7 v9 ~" n5 O
for (it=ret.first; it!=ret.second; ++it)" e$ d0 c& D A9 _+ _6 t
cout << " " << (*it).second;, k. z5 e3 K! B
cout << endl;
# [! f0 p+ J( [' y5 w }, b# G2 j+ ~7 R/ A1 u0 r/ }
return 0;+ r9 k1 ~0 ~9 Y1 {* N# `
}, K# t+ T v9 z7 ~9 R: G3 [
8 B+ ^/ h* f7 R7 r( @4 \* A; Xmymm contains:; [9 b' S( p6 z3 v6 ?) ?, C* ]
a => 10& X& C* r* F" d2 r* S2 v, q
b => 20 30 40
- x2 ^" B# R) H. g" J+ G0 u; Lc => 50 60
& e( v% j3 T5 ]3 F+ m! H; Td => 60! G; A; D: P6 l5 C+ F/ Z4 t
) Z6 t _+ I2 E1 p9 H. w4 { |
|