C 中map容器的使用說明

2021-07-04 23:35:39 字數 1557 閱讀 6140

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