|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多- g! a# r$ l Q& q# t( W; c1 a
/ w6 A$ X2 Y$ O( w来个例子,一看就懂& `- A- u: u! b' b3 i/ g& p
- M/ o9 b/ d: m' c) j* v9 o// multimap::equal_elements3 C( Z5 J& C3 b" t, `" o' X
#include <iostream>
1 X6 u+ T1 O% ]6 Y- B6 n#include <map>" L. t" r6 d: \) C7 K$ f7 `
using namespace std;2 D8 w# t7 t- {$ v( T8 T
int main ()
4 w+ g0 O* i9 O( F$ b& Y6 `$ y{
7 m4 s9 v" g; M ]. r! ~" y1 ] multimap<char,int> mymm;" r& s- [) e$ x: o J
multimap<char,int>::iterator it;/ t6 ~7 [ f8 M( f0 C$ P- O
pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;
$ Z F! w! u" R6 g# c+ x mymm.insert(pair<char,int>('a',10));: {8 V W7 W# x1 f, L
mymm.insert(pair<char,int>('b',20));
F$ B% v+ d/ J mymm.insert(pair<char,int>('b',30)); h4 ]' U a5 \$ T
mymm.insert(pair<char,int>('b',40));, H0 [) ^6 i5 O& B
mymm.insert(pair<char,int>('c',50)); h) ?. E2 b2 E) t) u8 }; W' a. K
mymm.insert(pair<char,int>('c',60));% h# X Q6 c* x$ \
mymm.insert(pair<char,int>('d',60));
! S# e) _6 y3 g- ]; k4 b% Y cout << "mymm contains:\n";! l( m& v& n" R- b3 r5 W, c. q* ~
for (char ch='a'; ch<='d'; ch++)
1 }5 [8 M3 b2 j1 R% R {7 D. g( \( E; k& F) ~9 f. U$ t& A
cout << ch << " =>";
B: c3 F- f1 M2 A6 N8 k3 k/ E ret = mymm.equal_range(ch);
# D$ |- P6 X) m% |; V% K for (it=ret.first; it!=ret.second; ++it)
^, Y! o6 f4 A. ~. K2 ? cout << " " << (*it).second;' {& [# d6 h3 w. U" ~0 ~8 Z* E
cout << endl;* U- x4 H. w+ p0 u2 x7 T; \
}
1 Z: F5 O) v$ D$ O+ z( u1 P return 0;
1 j9 n7 v; B8 E' Z& d; J2 A}
2 }" a6 ?5 U1 W) ] c. }. N0 [& J |" c3 v# i4 M
mymm contains:: n: r& }" I. f6 q$ Z
a => 10
. K j3 o9 b2 l" g, Y5 Kb => 20 30 40
% L- f0 z* B" K: V, I+ wc => 50 60( `: N; Q* M3 }/ C, G4 Y a- p( s
d => 60; z5 o* i) ^1 u7 c7 [
! Q+ Y$ y7 Z6 ?* t: U: V' T
|
|