map
是stl
的乙個關聯容器,它提供一對一(其中第乙個可以稱為關鍵字,每個關鍵字只能在
map中出現一次,第二個可能稱為該關鍵字的值)的資料處理能力,由於這個特性,它完成有可能在我們處理一對一資料的時候,在程式設計上提供快速通道。這裡說下
map內部資料的組織,
map內部自建一顆紅黑樹
(一種非嚴格意義上的平衡二叉樹
),這顆樹具有對資料自動排序的功能,所以在
map內部所有的資料都是有序的。
map既然是一種資料結構,就有資料結構的幾種特性 ,對資料的增刪改查。
首先看向乙個map型別的結構中插入資料,主要分為兩種方式,不覆蓋已知鍵value,覆蓋已知鍵value。
#include#include#include#include#includeusing namespace std;
int main()
//構造當前map型別的迭代器
for(map>::iterator iter1=mp.begin(); iter1!=mp.end(); iter1++)
{ coutsecond.begin();iter2!=iter1->second.end();iter2++)
{cout << " |----" << iter2->first << "(" << iter2->second << ")" <
作為key,value型的資料結構,它自帶一種查詢方式,也可以叫做統計方式,
承接第一段的插入**操作,
cout<
iter=mp.find("banana");
if(iter!=mp.end())
{ cout刪除大體常用三種方法
1、iter=mp.find("banana");
mp.erase(iter);
迭代器找到,刪除指定迭代結果。
2、
mp.erase("orange");
指定鍵直接刪除
3、
mp.erase(mp.begin(),mp.end());
指定區間刪除,也是清空map的方法。
判斷是否為空
empty()
函式,返回true,false.
size()函式,返回數值,map的大小。
STL之MAP的詳細使用介紹
map是stl的乙個關聯容器,它提供一對一 其中第乙個可以稱為關鍵字,每個關鍵字只能在map中出現一次,第二個可能稱為該關鍵字的值 的資料處理能力,由於這個特性,它完成有可能在我們處理一對一資料的時候,在程式設計上提供快速通道。這裡說下map內部資料的組織,map內部自建一顆紅黑樹 一種非嚴格意義上...
標準模板庫(STL)之 map 列傳
map 和 multimap 將 key value pair 鍵值對 當做元素進行管理,它們可根據 key 的排序規則 sorting criterion,也即在構造某一具體例項 map 例項時,可以模板引數的形式指定排序規則 自動為元素排序。multimap 允許重複元素,map 不允許。可像s...
STL 之 map的用法
下面舉例說明什麼是一對一的資料對映。比如乙個班級中,每個學生的學號跟他的姓名就存在著一一對映的關係,這個模型用map可能輕易描述,很明顯學號用int描述,姓名用字串描述 本篇文章中不用char 來描述字串,而是採用stl中string來描述 下面給出map描述 mapmapstudent 1.map...