|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多7 S3 a* Y8 Q0 z, B# H; ]
@4 T* U2 Y/ Y' X, l9 x) T来个例子,一看就懂5 l& i$ U7 n F4 t: Y
' [7 C5 g' U. M// multimap::equal_elements5 ]6 f% u0 p3 f$ W6 E+ Y q% n9 J8 P
#include <iostream>
1 Q7 t! t/ U5 t4 S3 y' z6 j#include <map>8 s u8 b/ [1 {- ]9 s( u
using namespace std;& n. y3 v0 ~5 v
int main ()
" l# G, f" a, u3 I# y" H{+ m" {0 Z. D8 H" \4 j0 M
multimap<char,int> mymm;
D1 b) L! Z9 m7 p* Z" E, q multimap<char,int>::iterator it;
) o1 C+ N% X9 \ N' [ pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;5 N+ ?# c, `; W5 C
mymm.insert(pair<char,int>('a',10));
) G1 u; q% M5 k X6 p8 t; Y9 c mymm.insert(pair<char,int>('b',20));+ j! S9 U0 n; E" k$ v
mymm.insert(pair<char,int>('b',30));9 u! P8 c/ p1 o! ~$ \
mymm.insert(pair<char,int>('b',40));' a# ~% G z d. `% |0 @
mymm.insert(pair<char,int>('c',50));
% M! H$ e9 C+ Y8 E) m1 Q1 W mymm.insert(pair<char,int>('c',60));: i$ B8 E, X- M" r: ^ M
mymm.insert(pair<char,int>('d',60));$ S9 _+ t+ C+ v
cout << "mymm contains:\n";
5 ]+ o, R- p4 Q# u4 d3 c for (char ch='a'; ch<='d'; ch++)
( T1 q5 ~+ D; B l8 L {
; d- r3 C* U0 G& J% f" i! P cout << ch << " =>";
: K ^ z$ G4 j% Y+ {9 f0 f ret = mymm.equal_range(ch);- b4 N7 X, {8 o/ v% Q" M* S
for (it=ret.first; it!=ret.second; ++it)2 e# H: d* Z, B# Y+ a# W8 @7 [- b
cout << " " << (*it).second;: R6 n9 V9 x5 T. N0 b5 d$ U/ F
cout << endl;3 w+ \; s- [/ j: g
}
% ~+ S* {1 Z1 {9 E+ { return 0;
0 z$ O9 D2 {- K: i' S. e}
$ g! Z1 O; O: K3 ]5 g. V/ V; l
( w* d( D1 E9 ?$ ^0 nmymm contains:$ @3 Z& X1 Z9 ~5 M3 a- q6 f- e" C7 M
a => 10; f/ ]- b* ~% W( i0 i! }. N+ ^* A
b => 20 30 40
I8 n$ @/ ^) @- sc => 50 60/ I2 F* |8 H/ n6 b8 Z6 v1 ^
d => 60
* ~1 p6 O8 b0 j# E* N3 ^1 g: x& U
9 q8 _" g* N+ k. [ |
|