|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多6 B! V/ B" T/ Y7 M* a6 D
* b' e& S+ S* ]6 L1 P9 s/ ^9 k
来个例子,一看就懂
; l/ ~& P# P k5 B$ @, T! ]9 ~
: Y( `* W3 W! k! F1 l// multimap::equal_elements
0 `' M5 i- L5 N1 ]& T5 B9 W4 W& C#include <iostream>
7 |4 K6 e3 X: n! B#include <map>; k% G* P7 C3 y+ {
using namespace std;% p! _3 C2 o. e3 p
int main ()
! ^1 c% |% N, d; o9 Z% I{0 I; V0 L: g8 c/ C* \" ?* a, S; y+ ~
multimap<char,int> mymm;
( U+ e9 |* F& K2 Z8 ? multimap<char,int>::iterator it;
4 q. \- v; U+ T- m. h" D8 Z pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;7 B2 z/ b8 n& e; v
mymm.insert(pair<char,int>('a',10));# A( y& x1 U4 ]7 k
mymm.insert(pair<char,int>('b',20));
( x" ]: y, v- M4 a1 F) { mymm.insert(pair<char,int>('b',30));
0 s ~) r4 W3 c$ n1 f' b& k! X0 | mymm.insert(pair<char,int>('b',40)); W: a% C0 S5 y& W
mymm.insert(pair<char,int>('c',50));
0 Y3 F! _1 M% y+ m# F mymm.insert(pair<char,int>('c',60));3 J# f- B* B, ~1 r7 k# x# s& }) i
mymm.insert(pair<char,int>('d',60));1 e+ D% N7 O- c! J, R9 |3 y
cout << "mymm contains:\n";9 g8 S2 x G: Z
for (char ch='a'; ch<='d'; ch++)$ u: \9 b: A1 H; z% E, U/ W2 G4 O
{
2 X7 N) F4 U1 G+ B3 H cout << ch << " =>";
* O5 L' K5 b: y ret = mymm.equal_range(ch);
9 I& F5 s3 {' ]$ u4 t/ A; S for (it=ret.first; it!=ret.second; ++it)9 I) }/ H5 s# B% X6 l8 K
cout << " " << (*it).second;
' T8 y( X* O2 w$ _ cout << endl;
4 P+ T3 {3 {7 }/ H. D# A6 q+ ] }* Y/ Q* J' g$ W8 o r! [
return 0;
; F9 s# p5 r5 O' r: a6 U}
; O U- J- n9 ]* c, L
r3 b- {. F6 Jmymm contains:
8 j# }8 p0 E) ?! h Fa => 10
) J$ ^1 ?5 g0 Z' S. a- m+ kb => 20 30 40
# L- S/ z% f% d6 ]5 H+ Uc => 50 60
- m! ?$ P6 o/ ~d => 60
* X% P! s% b; B6 w( e1 _" L* ^& h1 u8 _ c( Y7 W1 p4 w! T, U
|
|