|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多
# \9 B6 b% V j$ _
9 w8 J! A/ D6 R1 ]: O来个例子,一看就懂
% T- E5 m; ?& x8 {% v1 ?" ]. v8 W
// multimap::equal_elements
! N8 _8 L D% q4 ^5 U, t#include <iostream>3 x; i, Q7 ?1 J }" |
#include <map>
6 ]0 m, r6 e) {# h: T2 G- V; P+ qusing namespace std; C1 S- |. D: S9 W1 E
int main ()
% i! {+ b) Z! w$ r# p4 F6 E- U0 E+ B{
# P: y+ _/ g' y8 H+ x: Q0 p multimap<char,int> mymm;! r+ i9 l' s) G; s4 d6 Y
multimap<char,int>::iterator it;2 x" k/ Y$ ?/ X" s7 @4 c2 f
pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;
; Z1 w0 W- |$ q+ B/ L mymm.insert(pair<char,int>('a',10));' i. n7 X: z3 {. Y
mymm.insert(pair<char,int>('b',20));
$ u4 M8 G/ n. j/ {& A+ Q7 F3 t mymm.insert(pair<char,int>('b',30));. j. H$ x6 z) T5 T5 {
mymm.insert(pair<char,int>('b',40));
6 O+ d. b9 h3 z" Q* o: b! H6 _* ` mymm.insert(pair<char,int>('c',50));0 X/ j+ S1 z) f0 j, K
mymm.insert(pair<char,int>('c',60));/ `3 z" s0 ~& \1 R; A5 J4 Z+ U$ r' ], K
mymm.insert(pair<char,int>('d',60));- T: }' i2 o" G l9 W7 ~; w5 l. A
cout << "mymm contains:\n";) ?" C2 i; G0 `9 S% j
for (char ch='a'; ch<='d'; ch++)
_# p* j) J& u! g/ s: F O+ {0 w {
. O9 ~5 \( u4 B1 F6 g& q cout << ch << " =>";% r$ e+ U6 ]6 E& h
ret = mymm.equal_range(ch);- V0 D; R! T4 ~( O1 d, c
for (it=ret.first; it!=ret.second; ++it)
; J, V/ i( _) D; d7 M, x cout << " " << (*it).second;, B2 Y# a1 ]) r' y
cout << endl;
% O- M2 c$ g' n' M0 O; |4 ^7 B; } }
+ f* I% u+ ]6 n+ \5 _* Y return 0;- Q) E8 ]6 g% f4 c8 } B, z/ i
}
$ J& V5 X) p( J% k5 |8 [) |, f/ @
mymm contains:
4 n2 Q% l1 u% x- q/ La => 10
R% e4 P+ F8 q7 f O, Ub => 20 30 40$ ~6 U( d8 m9 N6 R+ e
c => 50 60, ^9 s$ M$ { }0 s3 ^
d => 60+ E# K/ h' G: i( Y" S* E: S: r6 ^
, s3 w0 C1 B" D" T/ A7 t4 O" [ |
|