感覺類似python的字典
需要#include
定義是
map
m;
如
map mapstudent;
int 是 key,string是value
是乙個對映關係,可以使用key通過下標訪問,訪問其中的元素。
定義了三種型別,
插入鍵值對的插入規則
第一種就是直接通過下標插入
mapstudent[key]=value
如果key這個鍵沒有引入,那麼預設返回為0,此時直接建立,並使值為value
另一種使用map::insert方法新增元素
1. map.insert(e) : e是乙個用在map中的value_type型別(pair)的值。
如果鍵(key)不存在,則插入乙個值為e.second(value)的新元素;如果鍵在map中已經存在,那麼不進行任何操作。該函式返回乙個pair型別,該pair型別的first元素為當前插入e的map迭代器,pair的second型別是乙個bool型別,表示是否插入了該元素。
2.map.insert(beg, end) : beg和end是迭代器,返回void型別
3.map.insert(iter, e) : e是value_type型別的值,如果e.first不在map中,則建立新元素,並以迭代器iter為起點搜尋新元素儲存的位置,返回乙個迭代器,指向map中具有給定鍵的元素。
查詢並獲取map中的元素
map.count(k) : 返回map中鍵k的出現次數(對於map而言,由於乙個key對應乙個value,因此返回只有0和1,因此可以用此函式判斷k是否在map中)
map.find(k) : 返回map中指向鍵k的迭代器,如果不存在鍵k,則返回超出末端迭代器。
**
C STL參考用法
vector map map的按key排序和按value排序 注意 map是用來存放鍵值對的資料結構,可以很方便快速的根據key查到相應的value。為了實現快速查詢,map內部本身就是按序儲存的 比如紅黑樹 在我們插入鍵值對時,就會按照key的大小順序進行儲存。這也是作為key的型別必須能夠進行 ...
C STL 入門 STL簡介
stl standard template library,標準模板庫 是 c 語言標準中的重要組成部分。stl 以模板類和模板函式的形式為程式設計師提供了各種資料結構和演算法的精巧實現,程式設計師如果能夠充分地利用 stl,可以在 空間 執行時間和編碼效率上獲得極大的好處。stl 大致可以分為三大...
C STL的priority queue用法總結
翻了很多部落格的總結 1 標頭檔案 include 2 定義 cpp view plain copy priority queue int p 3 優先輸出大資料 priority queue type為資料型別,container為儲存資料的容器,functional為元素比較方式。如果不寫後兩個...