|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
关于multimap::equal_range的用法--经常遇到哦,一对多$ o- e& a, I3 @& u' R4 {% N7 b( u0 d
+ W+ T3 m3 y/ H' h8 c9 C: V* ?! W
来个例子,一看就懂
- V, y# a4 Z j
$ C( {' s5 p, i+ v: z// multimap::equal_elements% g+ |# y8 p( x
#include <iostream>! N: ^+ ]8 S% V- F% {* l
#include <map>1 U( P& ]+ O+ I5 L* Z \# c
using namespace std;
$ M1 }8 N, N$ t; \5 q; ~; X, @int main ()
: c% e: e8 x& T$ c7 l, Q" I: P{
; s ~8 \6 U4 o P1 P2 ^ multimap<char,int> mymm;3 b0 Y" Z0 w' C2 a
multimap<char,int>::iterator it;
0 p) B$ w) H) h1 n/ r4 ~% ? pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;5 |$ i1 K. L( j4 Q L6 ?
mymm.insert(pair<char,int>('a',10));
9 ~' |' Z C) [1 C( D: P( I mymm.insert(pair<char,int>('b',20));& l9 ]9 b T5 E' ?
mymm.insert(pair<char,int>('b',30)); G+ H1 n, W3 \9 C& q
mymm.insert(pair<char,int>('b',40));
: j' j+ n5 a- M mymm.insert(pair<char,int>('c',50));8 O! e6 l$ K% G) x6 { [! X- c) W/ B
mymm.insert(pair<char,int>('c',60));
, k) u) ~2 u2 d8 `$ V( z" [ mymm.insert(pair<char,int>('d',60));- _ S( \* m" y9 b2 u/ Q8 Q$ j! p% y
cout << "mymm contains:\n";
}/ v# H1 j, @ for (char ch='a'; ch<='d'; ch++)' C5 ^1 m) i# W' i
{# y+ B9 D! q# [% }$ D
cout << ch << " =>";
* b. V! c8 F0 z ret = mymm.equal_range(ch);$ v* c; r, v8 X' ~# e2 M X* D
for (it=ret.first; it!=ret.second; ++it)
1 U7 G" A) Y% ` b$ Q cout << " " << (*it).second;
. M W5 x, D+ b8 z* t6 p; ^3 } cout << endl; n+ E X7 Z8 C. L1 z
}- W* x5 ~3 b0 b0 r$ I' U+ C/ M
return 0; }# @6 q f) f5 D, v% {6 J
}8 j$ E7 N. V( N& t. J. l1 T
" w k* q4 n% s$ q& C- i. a' Omymm contains:
$ y( U9 F2 Q7 w# ~5 X; F" z, [a => 10
. t; e `0 x' s* c4 [' Ob => 20 30 402 A B) c' j2 d3 ~9 w8 g9 m- t
c => 50 602 U) W- }8 c$ |9 p# x
d => 60. E2 K3 E9 X; d& R x
4 i% l% h/ l4 i, X, ~1 i I. _
|
|