|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多* |; R9 ^9 M# _/ z4 `
) G' C7 a) `, N3 ]' D: c+ O
来个例子,一看就懂" w6 Q4 c0 X5 o9 @. N* e _% ?
7 h9 {/ Q, b. p, n// multimap::equal_elements
- J5 S) l, N! w5 ?- `#include <iostream>
! X8 H# n X3 P5 P#include <map>8 ?1 h8 j+ r1 k
using namespace std;
1 {/ u2 \( z [! d# d" |1 \int main ()0 `0 `6 j9 e& P2 I
{
- A! K8 {9 y, x) \- N0 k- d, K multimap<char,int> mymm;
0 L# d+ c! `5 L+ M multimap<char,int>::iterator it;# X/ V$ i7 V2 b; Y0 e
pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;
4 C9 G2 b& Y* h2 e) h0 ~: j- d- b mymm.insert(pair<char,int>('a',10));7 L' g. @" E; J* w0 \
mymm.insert(pair<char,int>('b',20));( s. c5 x; m% H, k; S, J. q6 m
mymm.insert(pair<char,int>('b',30));
. ]6 b$ P) g" N: h% ] mymm.insert(pair<char,int>('b',40));1 f5 K6 j3 f- y; B3 a- k3 l5 Y
mymm.insert(pair<char,int>('c',50));2 Q7 Z% M$ |0 [% N8 t& z+ ?2 h8 e
mymm.insert(pair<char,int>('c',60));
. A# C, d, {3 B( |0 t! J* F! N mymm.insert(pair<char,int>('d',60));# W1 r0 w2 n9 M$ B
cout << "mymm contains:\n";+ o( M \. B8 o1 l2 S3 S7 I. d' D
for (char ch='a'; ch<='d'; ch++)+ I4 n% M" G( f8 ?
{! F" V* R; G" x7 Q
cout << ch << " =>";0 i, S0 g* j9 V, ^0 C5 ]
ret = mymm.equal_range(ch);
, u( Y1 d3 e5 t* h for (it=ret.first; it!=ret.second; ++it)- `+ h( ?+ f/ X. n( U1 v3 o
cout << " " << (*it).second;
3 _" _! K7 i/ G9 ]& ~9 l! R cout << endl;
9 c" a1 C0 [* h4 c7 m }
, Y ?2 Y8 x' ?3 i$ o' N: {& A0 e return 0;
2 w7 K/ U! t4 j# D}% M+ i+ Q+ v4 u0 M9 i; n2 d4 F. N
3 B% N6 B$ p! j3 j8 O* Gmymm contains:# w* h0 y, ?* y/ J. n9 G
a => 10
- m q( Y8 j7 P: a+ j/ i) v+ W5 J) Eb => 20 30 40
1 k: [1 K9 Y. ], A2 ec => 50 601 B0 F8 v( _/ }7 U3 u
d => 60
& M; H x* p5 ]
( i. j# q' V! s) _* e8 W |
|