|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
关于multimap::equal_range的用法--经常遇到哦,一对多) E4 p" u1 `- q0 c5 a. C
9 f6 G6 R6 B" ]0 E# `
来个例子,一看就懂' m7 K0 m7 v8 f
3 T; N7 c" `5 b2 R" l
// multimap::equal_elements" ?' A- u$ {9 B$ {
#include <iostream>
: N/ E/ h& w, d#include <map>! j* D+ [, f1 D% ~& B
using namespace std;4 h8 G0 \0 I6 Q9 |8 N6 P/ v6 z
int main ()% x n+ E! j' y) A: K( {+ g& x
{
/ h% J Q. M/ o multimap<char,int> mymm;1 F" i5 h8 f& Z7 {1 j
multimap<char,int>::iterator it;
1 b# O$ n V; E9 P7 N7 | pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;
; |% e4 G- u# K* e( s7 h { mymm.insert(pair<char,int>('a',10));
8 @& f8 u: C6 D4 _& d. ] mymm.insert(pair<char,int>('b',20));
( a6 @" a! \! L0 `" t mymm.insert(pair<char,int>('b',30));
* {5 x# u/ Q ` `: c mymm.insert(pair<char,int>('b',40));
9 v% A O U) t' @ mymm.insert(pair<char,int>('c',50));) H4 ?& x) M$ ?0 U* m. s
mymm.insert(pair<char,int>('c',60));9 O' X4 K( A/ F+ d4 F1 h) T- V
mymm.insert(pair<char,int>('d',60));
* v1 D! v0 {6 W: a cout << "mymm contains:\n";
: i- p4 [' e" o- f) Q E" J for (char ch='a'; ch<='d'; ch++)
8 q$ c5 q6 P) N w8 E9 o- o {7 X1 z% [; z, @( I$ t) k( o
cout << ch << " =>";" o/ k) Y# T A7 }# ^
ret = mymm.equal_range(ch);
6 b3 h% M) L2 A) n for (it=ret.first; it!=ret.second; ++it)
4 b' N: F: L% B4 K* a3 k cout << " " << (*it).second;
0 T3 j2 R2 A7 H, ?5 \ cout << endl;
* s2 Y: u$ v1 D3 D3 h! V7 o }
7 S9 H! l+ p( N* ]2 i" h return 0;
6 o: P2 q$ N$ ]1 E" x}5 x% o1 v9 `0 T( e' s
2 T1 a3 ~- W' M7 Z
mymm contains:
8 D4 y$ @" Z3 u" v: k1 Ja => 10
2 d' a7 h& A: M9 I @& |/ Ob => 20 30 40
- \# ^4 A9 m) s- g; f+ Kc => 50 603 Y8 j8 V7 ]. |/ n; [2 e* }
d => 60
* v% e* {$ t" J3 Z7 a0 N9 Z) \- q( [6 H) r; @- Z/ ?, {
|
|