|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
关于multimap::equal_range的用法--经常遇到哦,一对多( \/ x* q; j- f, Z
0 W( m" h9 E% c- b5 h- n6 {3 a6 m来个例子,一看就懂
( w# q) b J. w9 u& O# n
1 S2 n" Q: s' H% P+ t' i// multimap::equal_elements& s5 H5 Y- J8 a6 {% f% B
#include <iostream>
& q+ p5 t3 ~( F#include <map>
: D6 d) |# V2 A5 g6 j! v) e% Husing namespace std;
( e3 o* ^! f* Wint main ()9 ^0 t) M) ^. k9 R6 e/ `
{
: ?) u& Y6 W4 [9 u" j5 p multimap<char,int> mymm;
# ~: B' s. o2 |( ] multimap<char,int>::iterator it;
9 {/ N( j4 T, j* H, P% p pair<multimap<char,int>::iterator,multimap<char,int>::iterator> ret;
& Q, [: [* a- J9 ^, c/ h2 g mymm.insert(pair<char,int>('a',10));: t0 M! Q( k( R e" m
mymm.insert(pair<char,int>('b',20));
5 q9 g d; y* |% F+ I Y mymm.insert(pair<char,int>('b',30));
* {2 T4 w' `% {0 U# L: r* ]# j mymm.insert(pair<char,int>('b',40));
. u! b& p7 Y2 F6 E' G5 P8 m4 |+ S mymm.insert(pair<char,int>('c',50));# x i3 Q" T- q/ z
mymm.insert(pair<char,int>('c',60));$ c& N% {/ D% ]5 n
mymm.insert(pair<char,int>('d',60));
6 b: @! N8 ^3 m- f cout << "mymm contains:\n";. ]4 B3 r" ~" ?% `% u( q
for (char ch='a'; ch<='d'; ch++)8 H$ G# T* {1 s
{) m) S7 D2 K3 i9 a1 }) m9 \
cout << ch << " =>";4 T+ \1 d# i; R! ^ l
ret = mymm.equal_range(ch);
3 M# s$ O: S/ c. |+ k5 D* C- Q for (it=ret.first; it!=ret.second; ++it)4 ^# ^& A; o( |4 S8 V P& [
cout << " " << (*it).second;! R# N, b) @5 v
cout << endl;
: B: e: _' w M }1 z9 X/ ?2 X2 z7 p0 [
return 0;
5 v o) _ o9 y! z% W3 `}
, _+ v" \& h! I2 {* J
+ z4 t0 Z& Q$ x }mymm contains:
@; g; `7 p) y7 n( ?7 B7 Ua => 103 ^3 E/ N8 p% u2 g: v4 g4 y
b => 20 30 40
) z) \$ H" h4 ic => 50 60, B9 f/ y! `' \. b+ g6 D
d => 60
2 `0 {% @" s d# |0 w @( k* l; q; k
|
|