C 標準模板庫(STL)之map常見用法詳解

2021-09-21 02:05:50 字數 2443 閱讀 7661

map可以翻譯為對映,可以將任何基本型別對映到任何基本型別。

map需要對映前的型別(鍵key)和對映後的型別(值value)

所以括號裡填寫兩個型別,第乙個是key,第二個是value

mapmp;

如果是int型對映到int型,那就是普通的int型陣列

如果是字串到整型的對映,必須使用string而不能使用char

字元的話,可以是char

mapmp;

map的key和value也可以是stl容器,可以將乙個set容器對映到乙個字串;

map,string> mp;

(1)通過下標訪問

(2)通過迭代器訪問

map::iterator it;

typename1和typename2就是定義map時填寫的型別,這樣就得到了迭代器it

因為map的每一對對映都有兩個typename,這決定必須能只用乙個it 來同時訪問鍵和值。事實上,map可以使用it->first來訪問鍵,用it->second來訪問值。

find(key)返回鍵為key的對映的迭代器

(2)erase()有兩種用法

①刪除單個元素   mp.erase(it),it為要刪除的元素的迭代器

①(2)還可以用mp.erase(key),key為要刪除的對映的鍵。

②刪除乙個區間內的所有元素    mp.erase(first,last),注意還是左閉右開噢!

這是為什麼呢?不是應該還剩下c,按理說應該輸出 c  20  嗎?

再看,把刪除起始元素換一下。。。。換成c

(3)size() 用來獲取map中對映的對數

(4)clear()清空map中的所有元素

STL標準模板庫 map

一 map是stl的乙個關聯容器,它提供一對一 其中第乙個可以稱為關鍵字,每個關鍵字只能在map 現一次,第二個可能稱為該關鍵字的值 的資料處理能力,由於這個特性,它完成有可能在我們處理一對一資料的時候,在程式設計上提供快速通道。這裡說下map內部資料的組織,map內部自建一顆紅黑樹 一種非嚴格意義...

標準模板庫(STL)之 map 列傳

map 和 multimap 將 key value pair 鍵值對 當做元素進行管理,它們可根據 key 的排序規則 sorting criterion,也即在構造某一具體例項 map 例項時,可以模板引數的形式指定排序規則 自動為元素排序。multimap 允許重複元素,map 不允許。可像s...

C 標準模板庫(STL)之vector

vector即長度可變的陣列 標頭檔案宣告 include using namespace std 1.定義 vector int v vectorint age 兩個 之間需加空格,不然會被誤以為是移位操作 vector int vi 100 vector陣列,vi 0 vi 99 每乙個都是乙個...