|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多
( u* a# n7 l% ]* H% @* d
$ r# G3 E- c( V: n' ]" V8 F来个例子,一看就懂
. K$ K) @6 i( O; y, Q
: Y& X: F2 C" H; Y/ H3 G// multimap::equal_elements: q7 r3 h- Z* D
#include <iostream># U3 m5 |! I. ~
#include <map>
# y& a& `+ s& nusing namespace std;
* {0 g3 ?, ]' p& nint main ()
! s$ @! j+ T' }; n0 U; W{
0 V; L+ z6 R2 v( o8 v! d3 \. V& u multimap<char,int> mymm;
, j' e) ]3 l$ `4 W) i, l$ a multimap<char,int>::iterator it;* {+ N8 `3 f2 L* d+ ]; ~/ k- |, j4 [
pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;
6 c8 g; ?3 q) q% M. P mymm.insert(pair<char,int>('a',10));* a4 C' J6 i' d
mymm.insert(pair<char,int>('b',20));1 v3 D, R3 E' V- A* ~# k
mymm.insert(pair<char,int>('b',30));
0 g J& u( r0 ~9 \: g( O mymm.insert(pair<char,int>('b',40)); m6 f, M6 ~, B, O* a
mymm.insert(pair<char,int>('c',50));
+ H& ^1 U- ^$ ]7 z* i6 @ mymm.insert(pair<char,int>('c',60));# S I/ H; N$ u2 Q+ H, |
mymm.insert(pair<char,int>('d',60)); y K- U4 R" Q; }; ^+ j9 T
cout << "mymm contains:\n";, r& N. d/ k; A/ O. Y! Q* e
for (char ch='a'; ch<='d'; ch++)) y/ j, n1 A+ m) i' O
{
2 e; R6 |8 K1 ` cout << ch << " =>";
# h' Q( [. s+ x% s( \- ?8 y ret = mymm.equal_range(ch);: U+ e9 d8 K ]5 W# s d
for (it=ret.first; it!=ret.second; ++it)
+ W9 t+ c z& H: J cout << " " << (*it).second;
8 O8 q3 u7 C, d7 ]" }; ^1 Y cout << endl;
! h- X6 n$ I8 D" c }
0 }1 o/ K1 v. x8 h U' F! h return 0;
+ |4 i3 B" L+ L/ O0 O}
" D0 @2 K( P% K# a) o
6 y1 q0 c& T# e6 J& m. [' v, smymm contains:
! q# S) Q( `; c! Q+ O" ~ _a => 10
& B V1 W9 r8 w- j( {6 qb => 20 30 40
( T4 Q) Z. U8 X5 b/ Uc => 50 60
( D" F- L4 a- Z: M( ^% D3 yd => 60" B. e5 o) F. y: l
# o% y( \4 a( s; ], Q |
|