方式一:
??? typedefstd::multimap<int,int> Pairs;
??? multimap<int,int>::iterator iter;
??? Pairs pairs;
??? pairs.insert(make_pair(1, 1));
??? pairs.insert(make_pair(1,2));
??? pairs.insert(make_pair(1,3));
??? pairs.insert(make_pair(2, 4));
??? pairs.insert(make_pair(2,5));
??? pairs.insert(make_pair(3,2));
??? intkey = 1;
??? Pairs::iterator position = pairs.lower_bound(key);
??? while(position != pairs.upper_bound(key))
??? {
??????? cout << position->first << "\t"<< position->second;
??????? ++position;
??? }
方式二:
??? typedefstd::multimap<int,int> Pairs;
??? multimap<int,int>::iterator iter;
??? Pairs pairs;
??? pairs.insert(make_pair(1, 1));
??? pairs.insert(make_pair(1,2));
??? pairs.insert(make_pair(1,3));
??? pairs.insert(make_pair(2, 4));
??? pairs.insert(make_pair(2,5));
??? pairs.insert(make_pair(3,2));
?
??? iter = pairs.find(1);??? //find返回的是第一個找到的元素的位置
??? if(iter == pairs.end()) cout << "can not find 2\n";? //注意判斷沒有找到的辦法
??? elsecout << iter->second << endl;
?
??? pair<Pairs::iterator, Pairs::iterator> range; //前面說了find只能返回第一個位置
??? range = pairs.equal_range(1);???????????? //要是想得到全部,只能這樣啦
??? for(iter = range.first; iter != range.second; iter++)
??????????? cout << iter->first << " " << iter->second << endl;
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
