傳送門code
•前置知識-multimap的用法
$multimap$ 與 $map$ 的區別在於一個 $key$ 能夠對應幾個值;排序
對於 $map$ 而言,一個 $key$ 只能對應一個值,而且按照 $key$ 升序排列;get
而 $multimap$ 的一個 $key$ 能夠對應多個值,而且按照 $key$ 升序排列;it
可是,相同的 $key$ 對應的多個值按照插入的順序排列,不會自動排序;test
- 定義:$multimap<char ,int >f$
- 插值
- $f.insert(make\_pair('a',10))$
- $f.insert(make\_pair('a',20))$
- $f.insert(make\_pair('a',15))$
- $f.insert(make\_pair('b',10))$
- 遍歷相同 $key$ 的全部值
- $for(auto\ it=f.equal\_range('a').first;it\neq f.equal\_range('a').second;++it)\\ cout<<(*it).second<<endl;$