C++STL之map型容器

來源:互聯網
上載者:User

C++STL之map型容器

Map簡介

map型容器是(鍵key-值value)對的集合。map型容器通常可理解為關聯陣列,可使用鍵(key)作為下標來擷取對應的值,類似於內建數群組類型。關聯的本質在於元素的值與某個特定的鍵相聯絡,而不是通過在數組中的位置來實現關聯的。

總而言之,map是由許多對的索引值組成的排序結構體,而且索引值是獨一無二的。

multimap型容器和map型容器基本是一致的。只是前者允許重複元素,而map不允許重複。

multimap:一個key能對應多個value。

map:    一個key只能對應一個value。

成員函數簡介與常用公式寫法

【變數聲明】

map<string, string> v1; 
map<int, string> v2;      //不止這幾類

【插入元素】

//用insert函數插入pair
    v.insert(pair<string, string>("r000", "student_zero"));
    v.insert(pair<int,string>(100,"ac"));
//用"array"方式插入,這是最簡單常用的方法
    v["r123"] = "student_first";
    v[100] = "ac";             

【尋找元素】

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

map<int,string>::iterator it;
it=v.find(112);
if(it==v.end())                    //沒找到
cout<<"we do not find 112"<<endl;
else cout<<"wo find 112"<<endl;

【刪除元素】

map<int,string>::iterator it;
it=v.find(112);
if(it==v.end())
cout<<"we do not find 112"<<endl;
else  v.erase(it);                                //找到後刪除112;

本文永久更新連結地址:https://www.bkjia.com/Linux/2018-03/151301.htm

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.