|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多
, D% |1 Q* G! |1 f; R2 X: q: U/ R( \6 Y$ p
来个例子,一看就懂
5 I6 G; f7 g5 a( s" Z7 z
6 D7 w+ n& w. l( Q+ [$ U// multimap::equal_elements
& d7 [$ ~0 d( L#include <iostream>6 @, }) M' @ b- w3 ]4 W& c
#include <map>
, T0 o5 v" w0 ^7 L2 @; F. Cusing namespace std;* q/ C" _; k9 L" E) C
int main (). {. m. o* g6 S5 D9 Q' ^ w7 U( D
{, Y, s/ Q5 A3 s& {0 b8 Z8 L4 ?9 s
multimap<char,int> mymm;; X! m% j3 N# S' y3 a& x3 @( E
multimap<char,int>::iterator it;
* n9 d2 t/ J4 V8 K! ?7 z ` pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;0 ]7 @" \1 W% L" M8 i3 d
mymm.insert(pair<char,int>('a',10));
' L* Q" b8 B" g# s+ X" l mymm.insert(pair<char,int>('b',20));
% Y6 B6 Z/ w3 q" A mymm.insert(pair<char,int>('b',30));
) G9 U5 G' l i1 L; A, m mymm.insert(pair<char,int>('b',40));3 R) @1 ] S! q0 g9 K0 S
mymm.insert(pair<char,int>('c',50));
1 B3 ~% t% b4 a& `8 y4 Q mymm.insert(pair<char,int>('c',60));
; G! Q6 o' k$ O. U1 e mymm.insert(pair<char,int>('d',60));0 n' u$ _1 [6 n; n2 }/ j1 J
cout << "mymm contains:\n";7 A: e0 T6 T/ W0 Z
for (char ch='a'; ch<='d'; ch++)
7 r' E7 v! h/ [6 f2 N, v {: B( s0 i" l/ E; a: ^3 B! o
cout << ch << " =>";
6 }6 i W; D8 w, h" s4 h _* | ret = mymm.equal_range(ch);- h0 B0 I) L# C6 n5 h
for (it=ret.first; it!=ret.second; ++it)
, Z5 W) |. v+ u, ~1 V' w. o' | cout << " " << (*it).second;
/ Z! `& t# F& q( Q$ F5 f cout << endl;. _ V5 L4 a1 d
}7 R5 q6 e: J8 C3 r2 e
return 0;
2 S. t8 A$ f5 a9 V}
; n! h; ?# W% c: D! x& ^+ d0 ]
9 t8 i) t+ h% K/ \! `' y: T6 Lmymm contains:: A' T0 K( \4 h5 z, b- O4 _
a => 10
0 c6 K3 ~4 j; ^: z9 K! ^b => 20 30 40$ k; x9 G. `; W* u9 s/ `
c => 50 60/ D; v+ N- @" P+ w; d4 c' d1 ~
d => 60, x. ~8 |" d4 v, t
2 K. g& @! C7 m: @# }: c |
|