|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多- Z6 K, i2 ?" M
1 L9 i# L$ y( w, g来个例子,一看就懂+ ~3 G4 Q: K3 Y1 n6 {& ?6 J$ y x# I
7 u* H* z, E& e: e, o
// multimap::equal_elements
/ V2 ? v( m4 @9 u2 }5 R#include <iostream>
2 z3 I9 z6 X8 v h3 F#include <map>
# `8 l E: c) Iusing namespace std;3 n$ U" m3 ?. p" \) z Q( H+ b
int main ()4 t' T9 S# j) t/ z q: I
{
( u) m1 v! {5 ]# D* c/ _& \6 v% h multimap<char,int> mymm;
4 J* M @# {- T. [+ c$ G/ a multimap<char,int>::iterator it;
, \' y/ d7 B1 w+ A+ ?/ m( |5 g pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;% u+ u1 d3 _4 `! c
mymm.insert(pair<char,int>('a',10));
$ d3 E6 d1 s* p) h# { P% N mymm.insert(pair<char,int>('b',20));
, v. y+ ]8 w7 x3 k6 Q. h- W3 g" K mymm.insert(pair<char,int>('b',30));/ U' s/ F! G1 r5 I' q
mymm.insert(pair<char,int>('b',40));, [- @6 L" h5 C+ p) R n# |8 V6 }
mymm.insert(pair<char,int>('c',50));
J' T, A% L- x2 k# e" T# O# z9 I mymm.insert(pair<char,int>('c',60));
3 ^' R( `5 [" k7 S mymm.insert(pair<char,int>('d',60));
: W) J8 O& ^$ m0 T. F cout << "mymm contains:\n";
3 e W8 R4 l3 e3 K, ~ for (char ch='a'; ch<='d'; ch++)
$ q1 ^+ D5 @5 S2 a# B! h {5 I% g& @- Y# h. u0 m) _
cout << ch << " =>";
3 W' d: ?1 L% |: _8 D ret = mymm.equal_range(ch);
+ i8 T% Y' ~; L K0 x for (it=ret.first; it!=ret.second; ++it); w" i2 ~$ u9 w* l
cout << " " << (*it).second;3 n s* J7 _1 a
cout << endl;4 v- Q9 M6 i7 ~6 \! I% j8 V& [, S
}
) O" Y6 w0 f( u' A6 W, w return 0;! @; t% k! s5 O
}
+ ~) U3 o! z8 o* I- Y; t4 f7 J% a" U$ p' X& H
mymm contains:
. p& l2 @/ e& [6 ia => 10/ v0 u4 U* B+ o
b => 20 30 40
( F* N/ d* b. y) z% O7 I& Oc => 50 60
6 [- {9 ^6 i' @8 Z$ ]! u! {$ [ Ed => 60
( i8 `- Z8 p3 Z' N3 D8 y: |
& Q0 }, G4 q3 e. I% i* T/ g1 ] |
|