C 的Map常見用法總結

2021-08-19 14:58:25 字數 1372 閱讀 2311

map是stl的非常重要的關聯容器,其底層由紅黑樹實現,是一種key+value的模式。

①標頭檔案和定義:

#include typedef mapmy_map;   //第一種定義方式:模板定義

my_map mmap; //這兩種定義方法均可

mapmap; //第二種定義方式:直接定義

②迭代器和遍歷:

map::iterator map_it;   //定義乙個迭代器	

for (map_it = map.begin(); map_it != map.end(); map_it++) {} //遍歷map

③修改資料: insert();

map.insert();   //使用這種插入的方式

map.insert(map::value_type("b", 2));

map.insert(pair("c", 3));

map.insert(make_pair("d", 4));

int i = 0;       //修改值的寫法

map["a"] = i;

map::iterator map_ptr;

map_ptr=map.find("b");

cout << map_ptr->second << endl;//迭代器指標裡的first指的是key,second指的是value

map_ptr->second = 3; //可以通過這種方式進行修改

④遍歷: .begin()迭代器遍歷

迭代器在使用時一定注意,一定要使用的時候設迭代器,不要提前設好,如果在設定好迭代器之後再對原容器進行操作,迭代器就不能發揮效果了。

map::iterator map_it;   //定義乙個迭代器	

for (map_it = map.begin(); map_it != map.end(); map_it++) {} //遍歷map

⑤刪除資料:erase()

auto iter = map.begin();    //定義迭代器

iter=map.erase(iter); //這樣即便刪除了頭,iter會自動返還頭下乙個位置的值,不會出現直接斷裂的情況

⑥基礎資訊:

map.size();//得到尺寸,為key的尺寸

map.empty(); //空為1,非空為0

map.clear(); //清空所有資料

C 中的map常見用法

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

map的常見用法詳解

map可以將任何基本型別對映到任何基本型別 包括stl容器 標頭檔案 include map mp 第乙個是鍵的型別,第二個是值的型別 如果是字串對映整型 那麼必須使用string而不是char通過下標訪問 map char int mp mp c 3 cout mp c 通過迭代器訪問 map可以...

c 中map常見用法說明

c 中map提供的是一種鍵值對容器,每一對中的第乙個值稱之為關鍵字 key 每個關鍵字只能在map 現一次 第二個稱之為該關鍵字的對應值。標頭檔案 include map int,string id name 使用 賦值是從c 11開始的,因此編譯器版本過低時會報錯,如visual studio 2...