|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多
$ V8 r% P" X: [0 ^( M
/ p2 ^4 |) l9 a, X来个例子,一看就懂
/ S9 e& T0 y$ w; ^' ?! K
5 H: H. u$ j2 B! y1 t// multimap::equal_elements
6 I6 Z+ {( P u! P f( q#include <iostream>
, h# U% l! t" R/ U( c( a#include <map>9 q+ Q" ~% a+ B% x" a
using namespace std;: i; r. P! F* u4 t: e
int main () s6 r% i, E' Q# G% V* Z
{
2 F# _. P3 j: s6 ~ multimap<char,int> mymm;
2 u' m6 b# K- d: _1 D" e multimap<char,int>::iterator it;; }% \! O( s! V7 b, ?
pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;
2 t, z4 Q, E6 v# M( d mymm.insert(pair<char,int>('a',10));
$ K9 [2 C! O; k% }4 B+ {% l+ W mymm.insert(pair<char,int>('b',20));
: h# Q, H% l: e7 d mymm.insert(pair<char,int>('b',30));
/ _+ X1 z7 e& g mymm.insert(pair<char,int>('b',40));. m3 {0 e4 S1 w; j
mymm.insert(pair<char,int>('c',50));: h1 S: G' M! k2 h# z1 o X
mymm.insert(pair<char,int>('c',60));/ k& p+ W- p- D! p& j5 T4 k, j
mymm.insert(pair<char,int>('d',60));
1 \0 L+ K6 n1 o cout << "mymm contains:\n";
( i, o. ? g- i) G for (char ch='a'; ch<='d'; ch++)7 D& z" q0 M4 v* m, z9 N
{
H0 O! c1 e ?3 w/ ^/ }4 U+ J- E cout << ch << " =>";
5 A! k; _ S( M0 Y# F ret = mymm.equal_range(ch);
) F6 F' a! g7 R for (it=ret.first; it!=ret.second; ++it)4 N8 i7 n! M* N. W. u& O
cout << " " << (*it).second;0 e6 G0 f o+ R! K
cout << endl;5 _' D" o6 b# ?8 V) d5 t- A
}
9 `0 d4 [# }0 E* w return 0;
- k- V- s3 ~, w5 L8 i* V}/ ~/ I9 Y2 J; E
6 v- Q& L# D, V# K
mymm contains:
/ ^/ J$ L' k( oa => 101 s% w/ J- v. ]; ?( |
b => 20 30 40: X: Q3 R, B, i5 ~
c => 50 609 d* l2 u' b" H* E# Z6 E
d => 60
0 k- c) C+ p5 @( Q! E. g% H" ^5 ^2 |9 f2 a3 N" E
|
|