c++中map容器提供乙個鍵值對容器,map與multimap差別僅僅在於multiple允許乙個鍵對應多個值.
一.map的說明
1.標頭檔案
#include
2.定義方法
(1)mapm;
(2)typedef mapm;
m m;
3.插入資料
(1)m['a'] = 1
(2)m.insert(map::value_type("b",2));
(3)m.insert(pair("c",3));
(4)m.insert(make_pair("d",4));
4.查詢資料和修改資料
(1)int i = m["a"];
m["a"] = i;
(2)m::iterator m_iter;
m.find("b");
int j = m_iter->second;
m_iter->second = j;
!!!注意!!!鍵本身是不能被修改的,除非刪除.
5.刪除資料
(1)m.erase(m_iter);
(2)m.erase("c");
!!!注意!!!第一種情況在迭代期間是不能被刪除的
6 迭代資料
for (m_iter=m.begin(); m_iter!=m.end(); ++m_iter)
7 其它方法
m.size() 返回元素數目
m.empty() 判斷是否為空
m.clear() 清空所有元素
可以直接進行賦值和比較:=, >, >=, <, <=, != 等等
二map的舉例
要求: 將mymap中itemstruct的a大於100的項刪除
struct itemstruct
; mapmymap;
**1:
#include #include #include using namespace std;
typedef struct itemstruct
items;
items s[4] = ,
, ,
};;
int main()
; for(int i = 0; i<4; i++)
map::iterator it;
for(it=mymap.begin(); it!=mymap.end(); it++)
}//first是key, second是value;
for(it = mymap.begin(); it!=mymap.end(); it++)
}; int main()
it=mymap.begin();
while(it!=mymap.end())
C 中vector使用說明
1.在c 中的詳細說明 vector是c 標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。vector之所以被認為是乙個容器,是因為它能夠像容器一樣存放各種型別的物件,簡單地說,vector是乙個能夠存放任意型別的動態陣列,能夠增加和壓縮資料。2.使用vect...
C STL 中 map 容器的說明和使用技巧
map是stl的乙個關聯容器,它提供一對一 其中第乙個可以稱為關鍵字,每個關鍵字只能在map中出現一次,第二個可能稱為該關鍵字的值 的資料 處理能力,由於這個特性,它完成有可能在我們處理一對一資料的時候,在程式設計上提供快速通道。這裡說下map內部資料的組織,map內部自建一顆紅黑樹 一 種非嚴格意...
c 中關聯容器map的使用
補充 使用count,返回的是被查詢元素的個數。如果有,返回1 否則,返回0。注意,map中不存在相同元素,所以返回值只能是1或0。使用find,返回的是被查詢元素的位置,沒有則返回map.end include include include include include using names...