亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++ STL之map和multimap用法

2019-11-06 06:17:10
字體:
供稿:網(wǎng)友

一. Map與 Multimap 特點(diǎn)

Map 和 Multimap 將(key/value) 一組當(dāng)做元素,它們可以根據(jù) key 的排序準(zhǔn)則自動(dòng)將元素排序。

Multimap允許重復(fù)元素,map不允許重復(fù)。

類型定義:

[cpp] view plaincopytypedef std::map<std::string, float, std::greater<string> > StringFloatMap;     ...  StringFloatMap coll;  

注意,兩個(gè)>之間需加上一個(gè)空格,因?yàn)?gt;>會(huì)被編譯器視為移位操作符。

Map 和 multimap 通常以平衡二叉樹來實(shí)現(xiàn),map 和 multimap 擁有 set 和 multiset 所有能為和所有操作函數(shù)。

通常,不能直接改變key 的值,value 的值是可以直接修改的,因此可以想像元素的實(shí)質(zhì)類型是 pair<constkey, T>。

二、在map和multimap中添加元素

map<int ,string>maplive;1. maplive.insert(pair<int,string>(102,"aclive"));2. maplive.insert(map<int,string>::value_type(321,"hai"));3. maplive[112]="APRil";//map中最簡(jiǎn)單最常用的插入添加!

4. map中元素的查找:

find()函數(shù)返回一個(gè)迭代器指向鍵值為key的元素,如果沒找到就返回指向map尾部的迭代器。

map<int ,string >::iteratorl_it;; l_it=maplive.find(112);//返回的是一個(gè)指針if(l_it==maplive.end())cout<<"we do not find112"<<endl;else

cout<<"wo find112"<<endl;

 

map<string,string>m;

if(m[112]=="")

cout<<"we do not find112"<<endl;

4. map中元素的刪除:如果刪除112;map<int ,string>::iterator l_it;l_it =maplive.find(112);if( l_it == maplive.end())cout<<"we do not find112"<<endl;else maplive.erase(l_it);//delete 112;

5. map中 swap的用法:Map中的swap不是一個(gè)容器中的元素交換,而是兩個(gè)容器交換;For example:#include<map>#include<iostream>

usingnamespace std;

int main(){map <int, int> m1, m2, m3;map <int,int>::iterator m1_Iter;

m1.insert( pair <int, int>(1, 10 ) );m1.insert ( pair <int,int> ( 2, 20 ) );m1.insert ( pair <int,int> ( 3, 30 ) );m2.insert ( pair <int,int> ( 10, 100 ) );m2.insert ( pair <int,int> ( 20, 200 ) );m3.insert ( pair <int,int> ( 30, 300 ) );

cout << "The original map m1is:";for ( m1_Iter = m1.begin( ) ; m1_Iter != m1.end() ; m1_Iter++ )cout << " "<<m1_Iter->second;cout << "."<< endl;

// This isthe member function version of swap// m2 is said to be theargument map; m1 the target mapm1.swap( m2);

cout << "Afterswapping with m2, map m1 is:";for ( m1_Iter = m1.begin( ) ; m1_Iter != m1.end() ; m1_Iter++ )cout << " "<< m1_Iter ->second;cout << "."<< endl;

cout << "After swapping with m2, mapm2 is:";for ( m1_Iter = m2.begin( ); m1_Iter != m2.end(); m1_Iter++ )cout << " "<< m1_Iter ->second;cout << "."<< endl;

// This is the specialized template version of swapswap( m1, m3 );

cout << "Afterswapping with m3, map m1 is:";for ( m1_Iter = m1.begin( ); m1_Iter != m1.end(); m1_Iter++ )cout << " "<< m1_Iter ->second;cout << "."<< endl;}

6. map的sort問題:Map中的元素是自動(dòng)按key升序排序,所以不能對(duì)map用sort函數(shù):For example:#include<map>#include<iostream>

usingnamespace std;

int main( ){map<int, int> m1;map <int,int>::iterator m1_Iter;

m1.insert (pair <int, int> (1, 20 ) );m1.insert ( pair<int, int> ( 4, 40) );m1.insert ( pair<int, int> ( 3, 60) );m1.insert ( pair<int, int> ( 2, 50) );m1.insert ( pair<int, int> ( 6, 40) );m1.insert ( pair<int, int> ( 7, 30) );

cout<< "The original map m1is:"<<endl;for ( m1_Iter = m1.begin( );m1_Iter != m1.end( ); m1_Iter++ )cout << m1_Iter->first<<""<<m1_Iter->second<<endl;}

The original map m1 is:1 202 503 604 406 407 30

7. map的基本操作函數(shù):C++Maps 是一種關(guān)聯(lián)式容器,包含“關(guān)鍵字/值”對(duì)begin() 返回指向map頭部的迭代器clear() 刪除所有元素count() 返回指定元素出現(xiàn)的次數(shù)empty() 如果map為空則返回trueend() 返回指向map末尾的迭代器equal_range() 返回特殊條目的迭代器對(duì)erase() 刪除一個(gè)元素find() 查找一個(gè)元素get_allocator() 返回map的配置器insert() 插入元素key_comp() 返回比較元素key的函數(shù)lower_bound(k) 返回鍵值一個(gè)迭代器,該迭代器指向第一個(gè)鍵值不小于k的元素。

upper_bound(k) 最后一個(gè)大于等于k的位置,也是有一個(gè)新元素k進(jìn)來時(shí)的插入位置

max_size() 返回可以容納的最大元素個(gè)數(shù)rbegin() 返回一個(gè)指向map尾部的逆向迭代器rend() 返回一個(gè)指向map頭部的逆向迭代器size() 返回map中元素的個(gè)數(shù)swap() 交換兩個(gè)mapvalue_comp() 返回比較元素value的函數(shù)

multimap[cpp] view plain copy print?//multimap允許重復(fù)的鍵值插入容器  //        **********************************************************        //        * pair只包含一對(duì)數(shù)值:pair<int,char>                       *  //        * map是一個(gè)集合類型,永遠(yuǎn)保持排好序的,                   *  //  pair  * map每一個(gè)成員就是一個(gè)pair,例如:map<int,char>           *  //        * map的insert()可以把一個(gè)pair對(duì)象作為map的參數(shù),例如map<p> *  //        ***********************************************************  #pragma warning(disable:4786)  #include<map>  #include<iostream>  using namespace std;    int main(void)  {   multimap<int,char*> m;   //multimap的插入只能用insert()不能用數(shù)組   m.insert(pair<int,char*>(1,"apple"));      m.insert(pair<int,char*>(1,"pear"));//apple和pear的價(jià)錢完全有可能是一樣的   m.insert(pair<int,char*>(2,"banana"));   //multimap的遍歷只能用迭代器方式不能用數(shù)組   cout<<"***************************************"<<endl;   multimap<int,char*>::iterator i,iend;   iend=m.end();   for(i=m.begin();i!=iend;i++)   {    cout<<(*i).second<<"的價(jià)錢是"     <<(*i).first<<"元/斤/n";   }   cout<<"***************************************"<<endl;      //元素的反相遍歷   multimap<int,char*>::reverse_iterator j,jend;   jend=m.rend();   for(j=m.rbegin();j!=jend;j++)   {    cout<<(*j).second<<"的價(jià)錢是"     <<(*j).first<<"元/斤/n";   }   cout<<"***************************************"<<endl;   //元素的搜索find(),pair<iterator,iterator>equal_range(const key_type &k)const      //和multiset的用法一樣   multimap<int,char*>::iterator s;   s=m.find(1);//find()只要找到一個(gè)就行了,然后立即返回。   cout<<(*s).second<<"    "    <<(*s).first<<endl;   cout<<"鍵值等于1的元素個(gè)數(shù)是:"<<m.count(1)<<endl;   cout<<"***************************************"<<endl;   //刪除 erase(),clear()   m.erase(1);      for(i=m.begin();i!=iend;i++)   {    cout<<(*i).second<<"的價(jià)錢是"     <<(*i).first<<"元/斤/n";   }      return 0;  }  
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

国产一区二区在线视频观看| 久久精品99国产精| 中文字幕 日韩 欧美| 在线亚洲人成| 国产综合精品视频| 精品视频色一区| 亚洲精品国产品国语在线app| 免费看黄色a级片| 国产又大又粗又爽| 麻豆成人在线观看| 99re这里只有精品首页| 麻豆亚洲av熟女国产一区二| 欧美极品少妇xxxxx| 欧美超级免费视 在线| 欧美日韩另类国产亚洲欧美一级| 中国在线观看免费国语版电影| 久久精品一区二区三区不卡| 成人av资源网站| 成人高清dvd| 国产欧美欧洲在线观看| 高清国产午夜精品久久久久久| 国产又黄又爽免费视频| 成人做爰视频www网站小优视频| 男人打飞机网站| 日本三级韩国三级久久| 七七婷婷婷婷精品国产| 99九九99九九九99九他书对| 91狠狠综合久久久久久| 亚洲国产精品视频| 精品久久av| 在线看片福利| 亚洲免费激情视频| 欧美色图影院| 久久综合九色综合欧美亚洲| 日本高清中文字幕| 粉嫩喷白浆久久| 久久在线免费视频| 在线天堂中文www官网| xxx视频在线观看| 国产91精品捆绑调教| 伊人久久久久久久久| 精品久久久久久综合日本| 137大胆人体在线观看| 中文不卡在线| 一区二区三区黄| 在线观看成年人视频| 2024最新电影免费在线观看| 日韩欧美色视频| 中文字幕一区二区三区在线视频| 性生活一级大片| 欧美亚洲福利| 精品美女www爽爽爽视频| 亚洲一区电影777| 69精品无码成人久久久久久| 少妇一区二区三区四区| 国产丰满美女做爰| 亚洲激情图片一区| 中文字幕精品三区| 亚洲欧美高清在线| 韩国精品主播一区二区在线观看| 蜜桃视频在线网站| 婷婷5月激情5月| 人妻在线日韩免费视频| 久久久无码中文字幕久...| 男人天堂网在线视频| 伦av综合一区| 精品视频全国免费看| 国产伦精品一区二区三区视频网站| 欧美激情在线一区二区| 嫩草www视频在线观看高清| 青青青国产在线| 在线播放高清视频www| 天天操夜夜操国产精品| 制服诱惑亚洲| 欧美最猛性xxxxx(亚洲精品)| 丁香五月网久久综合| 在线视频精品一| 成年人网站大全| 午夜免费久久看| 香蕉视频在线观看网站| 18视频免费网址在线观看| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 午夜精品美女久久久久av福利| 亚洲精品国产精品乱码在线观看| 欧美另类高清zo欧美| 久久精品女同亚洲女同13| 欧美二区在线播放| 男人的天堂久久精品| 欧美日韩一级大片| 男同在线观看| 国产精品午夜国产小视频| 久久久免费看| 岛国精品视频在线播放| 精品国产伦一区二区三区免费| 成人午夜激情网| 日韩av中文字幕第一页| 日本女人黄色片| 在线成人h网| 久久精品国产99久久6| 性欧美videos| 在线精品视频在线观看高清| 成人国产亚洲精品a区天堂华泰| 91tv精品福利国产在线观看| 精品人妻一区二区免费| 91沈先生作品| 欧美性猛交p30| 丝袜美腿美女被狂躁在线观看| 国产在线日韩欧美| 午夜伦理福利在线| 日本精品一区在线观看| 久99久在线视频| 丰满少妇又爽又紧又丰满电影| 亚洲综合清纯丝袜自拍| 久久久精品一区二区毛片免费看| 亚洲国产午夜精品| 欧美一级视频一区二区| 伊人久久久久久久久久久久久久| 久久色中文字幕| 精品一卡二卡三卡四卡日本乱码| 久久精品国产成人一区二区三区| 欧美影院视频| 色偷偷7777www人| 97视频网站入口| 青春有你2免费观看完整版在线播放高清| 国产精品女主播视频| 亚洲国产精品第一区二区| 国内毛片毛片毛片毛片毛片| 亚洲的天堂在线中文字幕| 国产伦精品一区二区三区妓女| 最新av免费在线观看| 久久精品视频网站| 亚洲精品在线免费播放| 欧美风情在线视频| 无码熟妇人妻av在线电影| 一本色道久久综合亚洲精品高清| 精品国产一区二区国模嫣然| 99热.com| 一区二区三区在线视频免费观看| 国产欧美精品一区二区三区| 日韩人妻无码一区二区三区99| 日本三级视频网站| 天天综合色天天综合色hd| 四川一级毛毛片| 97久草视频| 999在线免费观看视频| 最新日韩av在线| av不卡在线播放| 一日本道久久久精品国产| 美女av在线播放| 麻豆国产欧美一区二区三区r| 在线电影中文字幕| 色婷婷一区二区三区av免费看| 中文字幕一区二区三区电影| 免费看黄色一级视频| 亚洲深夜av| 久久久成人免费视频| 欧美激情一区二区三区不卡| 2022国产精品视频| 中国china体内裑精亚洲片| 国产精品成人在线视频| 亚洲影院一区二区三区| 97av中文字幕| 国产浮力第一页| 国产亚洲精品中文字幕| 免费一区二区三区四区| 欧美在线看片| 在线观看国产成人| 成人h动漫精品| 日韩夫妻性生活xx| 午夜精品福利久久久| 亚洲综合在线不卡| gratisvideos另类灌满| 欧美丰满少妇xxxxx高潮对白| 久久99精品国产99久久6尤物| 久草免费资源| 超碰97av在线| 成人免费视屏| 国产精品国产三级国产aⅴ浪潮| 一卡二卡三卡日韩欧美| 妖精视频成人观看www| 性chinese极品按摩| 香蕉久久精品日日躁夜夜躁| 色综合久久天天综线观看| 免费黄网在线看| 日本中文一区二区三区| 92国产在线视频| 国产99re66在线视频| 日韩av电影网址| 亚洲a一区二区| 99久久精品国产亚洲精品| av超碰在线| 国精一区二区三区| 99热手机在线| av免费在线观看网站| 日韩欧美在线第一页| 91精品国产自产在线观看永久| 日韩在线一区二区三区| 男男做性免费视频网| 日韩精品久久久久久久| 性感美女激情视频在线观看| 国产天堂在线播放视频| 黄网站app在线观看大全免费视频| 国产精品乱人伦一区二区| 中文字幕高清一区| 欧美视频精品全部免费观看| 日韩区一区二| 欧美国产精品专区| 亚洲影视在线观看| 91色婷婷久久久久合中文| 蜜月aⅴ免费一区二区三区| 激情五月色综合国产精品| 嫩草国产精品入口| 欧美性久久久| 日韩毛片在线一区二区毛片| 在线观看wwww| 风间由美一区| 亚洲小说春色综合另类电影| 亚洲一区和二区| 欧美日韩精品三区| 亚洲成人免费| 推川ゆうり中文亚洲二区| 亚洲8888| 手机免费看av网站| 色撸撸在线观看| 久久资源中文字幕| 亚洲愉拍自拍另类高清精品| 精品久久久久久一区二区里番| 国产成人精品一区二区三区四区| 羞羞污视频在线观看| 日本中文在线观看| 美女网站视频色| 一区二区 亚洲| 色悠悠亚洲一区二区| av高清不卡| 欧美精品免费播放| 亚洲精选一区二区| 久久一区二区三区喷水| 色老头一区二区| 欧美日韩激情美女| 国产伦精品一区二区三区视频网站| 狠狠色丁香婷婷综合| 日韩毛片高清在线播放| 亚洲第一福利网| 日韩免费av片在线观看| av成人免费看| 一级黄色片在线播放| 国内精品久久国产| 国产免费一区二区| 五月天婷婷在线播放| 伊人永久在线| 刘玥91精选国产在线观看| 交100部在线观看| 久久精品一区| 欧美一级大片视频| 亚洲一区区二区| 黄色香蕉视频在线观看| 网曝91综合精品门事件在线| 国产在线更新| 久久三级中文| 男人天堂久久| 亚洲va欧美va人人爽成人影院| 成人女性视频| 亚洲午夜日本在线观看| 欧美午夜18电影| 九九久久久久久| 国产精品免费99久久久| 一区二区三区天堂av| 黄av在线播放| 日韩欧美亚洲v片| 久久精品电影一区二区| 精品一区二区三区香蕉蜜桃| 国产极品一区二区| 国产亚洲激情在线| 欧美~级网站不卡| 久久亚洲中文字幕无码| xxxxxx黄色| 亚洲成人你懂的| www.日韩| 欧美影院精品一区| 美女日批在线观看| 中文字幕 人妻熟女| 欧美亚洲国产一卡| 欧美国产视频一区二区| 色呦呦视频在线观看| 日本xxxxxxxxxx75| 欧美午夜丰满在线18影院| 最新av电影网站| fc2在线中文字幕| 国产精品亚洲无码| 久久综合88中文色鬼| 精品伊人久久| 欧美α欧美αv大片| 亚洲一区二区在线视频| 国产精品主播在线观看| 成年女人18级毛片毛片免费| 一区二区三区精品| 成人在线观看亚洲| 国产美女三级无套内谢| 国产一级特黄a大片99| 欧美一区二区三区四区久久| 人妻aⅴ无码一区二区三区| 精品成在人线av无码免费看| 亚洲高清视频免费| 免费黄色网址网站| www激情久久| 成人影院在线视频| 免费av中文字幕| 一区二区在线观看视频在线| 黄色漫画在线免费看| 国产免费黄色一级片| 亚洲精品免费观看| 成人av资源| 亚洲激情文学| 亚洲成人精品视频在线观看| 欧美精品成人| 操人真爽免费视频| 午夜日韩福利| av首页在线| 欧美大片在线影院| 成人区精品一区二区婷婷| 免费观看亚洲| 欧美精品久久久久久| 黑人精品xxx一区一二区| yw.尤物在线精品视频| 国产.com| 麻豆网站在线观看| 国产精品久久777777换脸| 成人av毛片|