標頭檔案:
宣告:(第乙個為鍵,第二個為值)
mapm; //宣告乙個map容器m
map::iterator ite; //宣告乙個指向map容器內元素的指標
mapm; //此時string為鍵,int為值
mapm; //node為結構體,struct node;
插入元素:
m.insert(make_pair(1,"jack")); 鍵,值)),當1號鍵值已被占用時,此操作無效
m[1]="jack"; //m[鍵]=值,當1號鍵已被占用時,覆蓋掉原值,如果宣告為mapm;那麼改為m["jack"]=1;
輸出元素:
ite=m.find(1); //ite->first為鍵,ite->second為值
coutcout<
查詢元素:
ite=m.find(1); 鍵),返回值是指標,鍵為1的元素不存在返回m.end(),存在返回指向該元素的指標
刪除元素:
m.erase(1); 鍵)
m.erase(ite); 指標)
其他成員函式:
m.begin(); 返回值為指向第乙個元素的指標
m.clear(); 清空map容器
學習筆記 STL Map
map 的資料結構其實是一種平衡二叉樹 紅黑樹 因此其內部並不是一塊記憶體,而是不同的節點。所以當我們做插入,刪除時,只是改變節點。因此速度會很快。參考 注意在乙個迭代中,不能直接刪除map include stdafx.h include include include using namespa...
C 學習筆記 stl map
map map是可以存兩個資料的容器,這兩個資料是一一對應的,map的第乙個資料是唯一的,不能有重複。map的內部結構是紅黑樹,這種二叉樹有自動排序的功能。資料插入用insert 語句,資料的獲取用迭代器進行遍歷 include stdafx.h include include includeusi...
STL map 插入小結
難道插入map還有什麼講究嗎?我們且看map在stl中的定義方法 template class compare less,class alloc alloc 第乙個引數key是關鍵字型別 第二個引數t是值型別 第三個引數compare是比較函式 仿函式 第四個引數是記憶體配置物件 map內部儲存機制...