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