|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多
: K% c- S' {5 r+ R0 `; F" Y/ H4 L- n0 e8 P d
来个例子,一看就懂
& }0 R; Y$ e' u, g
1 Q) X) `( w x+ y% G! `* N// multimap::equal_elements
; @' T" L# ?) v; t( m B4 y#include <iostream>
0 B* |1 }7 [, R I, o# M#include <map>
# n+ D: B5 {" p$ l* C# M1 N2 x gusing namespace std;4 m: k. t p3 y; Y5 Y
int main ()$ P* o: G4 r! F+ p& V& T
{* P. a2 G, B B y
multimap<char,int> mymm;* o( O( I* h8 e, `! C
multimap<char,int>::iterator it;) ` p! C; X8 O% X' @ o4 Z& ]0 c+ r
pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;; b/ e5 H. [$ e. U9 N* ]
mymm.insert(pair<char,int>('a',10));, Q" T. F, x% b7 o8 c
mymm.insert(pair<char,int>('b',20));2 R* c7 V4 s' [" N' X: ?2 N
mymm.insert(pair<char,int>('b',30));
4 m4 v1 Q/ U0 F( ~ mymm.insert(pair<char,int>('b',40));7 ~0 z1 [9 c. d6 K; a8 Y+ ^/ M Y* a
mymm.insert(pair<char,int>('c',50));
! H0 S7 i7 D5 k" d# a mymm.insert(pair<char,int>('c',60));' ], s2 Y; |5 c- p# R; m- \
mymm.insert(pair<char,int>('d',60));
# a7 b2 s. e1 T% L) L+ H# A" v cout << "mymm contains:\n";
0 G1 d9 p5 ?, M2 u& i for (char ch='a'; ch<='d'; ch++)8 O9 S# C0 _2 W% u: c0 o
{
) B6 Z0 Y) O3 T2 q0 | cout << ch << " =>";
5 I% k. }0 F4 ?" G! L3 D( L7 y- r ret = mymm.equal_range(ch);
& n" [, b; H9 q$ U4 I7 G for (it=ret.first; it!=ret.second; ++it): G, B; P3 O; [' j
cout << " " << (*it).second;
$ b: B) {) Q6 b. A cout << endl;
% ]' d7 \8 [" Q0 P5 o3 Z: V) F }* ` m) U9 {- V/ ?7 H. C
return 0;$ ]# o( F8 |: K! d
}( Z$ h) L' D- o
9 O* Y7 @+ Z4 F( w. V& Cmymm contains:
! b# ]0 g1 D5 c9 T. P" la => 10# V$ C4 _- Y' z" F6 n7 {. v ]
b => 20 30 408 |' W7 A2 D/ e1 a/ l, o+ A0 [4 O
c => 50 60; | I7 ^ g0 J- w) E: w
d => 609 g$ a1 z. k* e/ S
# r9 ]$ [/ @2 W |
|