|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多
* E/ J! v7 e4 r+ ^ |9 h, D
7 E' C/ m& R. r4 B2 V来个例子,一看就懂
$ H6 g: X3 l, j p' d% H4 |% T- {' C
// multimap::equal_elements
_$ }2 ?7 H7 b* v+ P#include <iostream>
; B7 d8 \) p1 ]2 S4 D' E#include <map>" ^$ I8 u8 C, R
using namespace std;$ ~8 }/ ^( T* P) c) Z. X* T6 L
int main ()
, q. O7 O4 [0 @$ G3 K! w. u4 @{
) y3 h. x9 i, Q( M multimap<char,int> mymm;
" S* a' c# \9 s( D$ b7 i- t multimap<char,int>::iterator it;2 @+ k& v1 j$ r9 Q
pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;9 M, y& L( w9 l7 A' c: u
mymm.insert(pair<char,int>('a',10));0 z1 @6 q+ S- i$ N- J( H- r2 l' Z2 P2 m
mymm.insert(pair<char,int>('b',20));
4 \( K* ^4 v& ` mymm.insert(pair<char,int>('b',30));
6 l4 r% j K8 u% C* e" Z# ?" }) W mymm.insert(pair<char,int>('b',40));5 |( W' ^- d& X& a0 W# m* `) O
mymm.insert(pair<char,int>('c',50));+ l" f# l, H1 t- {: v3 @
mymm.insert(pair<char,int>('c',60));2 S7 ?( _2 w' O6 ^0 X" c% D
mymm.insert(pair<char,int>('d',60));
8 m/ r. s5 r- R* p* L+ y5 k2 `# @ cout << "mymm contains:\n";# n2 m7 z" ~! j1 \% e
for (char ch='a'; ch<='d'; ch++)
# D! i0 A, P1 H6 u" c4 x7 v i {
! S$ N6 j5 G0 O% K$ w cout << ch << " =>"; r% h' V& z5 z6 r! Z4 B; }
ret = mymm.equal_range(ch);
' }$ m% q- h: h% `! ? for (it=ret.first; it!=ret.second; ++it)) M; i/ R( h( ^3 B
cout << " " << (*it).second;$ i. i; A2 r; P, V( J8 Q7 N! o
cout << endl;) S+ A" c" W4 Y4 v1 f& O
}, |% B5 I6 e* r* x- @% d7 _8 [9 O
return 0;
5 Y- b8 Z! t% d, N1 ?}+ }+ @: t5 d; C/ }9 b# G, r
6 k! V2 f# P. u1 g
mymm contains:
* G$ f' T. K( g& ]a => 103 q; B+ z. f: a$ e/ e
b => 20 30 40+ A$ T3 k2 w6 j
c => 50 60
8 r8 H$ r' n4 Bd => 601 U: g- t5 i: Q8 J: g2 z1 R# ^7 @
7 }& Q: }' u3 g8 m) k: d8 b
|
|