STL庫之Map結構的使用

2021-07-30 16:57:03 字數 1193 閱讀 8015

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...