一、大致了解
map是stl中的乙個關聯容器,和python中的資料型別字典一樣,map 型別變數中的元素也是由鍵-值對組成,沒有重複的鍵。其底層實現是紅黑樹(非嚴格意義上的平衡二叉樹)
二、 基本用法
基本用法包括:宣告乙個map型別的變數、向宣告的map變數中插入元素、查詢map變數中的元素、刪除map變數中的元素、清空map變數中的元素等。
2.1 宣告乙個map型別的變數
先加入標頭檔案#include
#includemap2.2 向map變數中插入資料
(1)用insert函式插入
(2)用給key賦value的方法插入
#include#includeusing namespace std;
int main()
2.3 查詢map變數中的某個key
(1) map變數.count(key) 只返回0或1,0表示map變數中不 包含key這個鍵,1則表示包括
if(student.count(001) > 0)else
(2) map變數.find(key) 返回乙個迭代器,該迭代器指向查詢到的這個key元素(存在key這個元素的時候)
map::iterator it;
it = student.find(001);
return it->second;
迭代器名稱->first 表示迭代器當前指向的元素的key; 迭代器名稱->second 表示迭代器當前指向的元素的value;
2.4 刪除map變數中的元素、清空map變數
(1)刪除元素用erase函式,刪除成功返回1,否則返回0
//配合使用迭代器刪除
it = student.find(001);
int ans = student.erase(it);
//直接刪
int ans = student.erase(001);
(2) 清空map變數之間使用clear函式
student.clear();
三、unordered_map與map的比較,make_pair與pair的比較
1、unordered_map與map
(1) 使用前需要引入的標頭檔案不同,前者是#include,後者是#include
(2) 內部實現機理不同,前者是雜湊表,後者是紅黑樹
(3)map型別變數中元素是自動排序,有序的,而unordered_map型別變數中的元素是無序的
2、make_pair()與pair()
二者的用法示例:
int main(int argc, char** ar**)
stl中map的基本用法
c maps是一種關聯式容器,包含 關鍵字 值 對 c maps 被用作儲存 關鍵字 值 對 語法 iterator begin begin 函式返回乙個迭代器指向map的第乙個元素。語法 void clear clear 函式刪除map中的所有元素。語法 size type count const...
c 中STL中map的基本用法
具體的詳見 或者 map的基本使用 include pch.h include map需要包含的標頭檔案 include using namespace std intmain printf n 2 insert方法 value type 形式 map test.insert map int,str...
STL 中 map 的用法
說明 如果你具備一定的 c template知識,即使你沒有接觸過stl,這個文章你也應該可能較輕易的看懂。本人水平有限,不當之處,望大家輔正。一 map概述 map是stl的乙個關聯容器,它提供一對一 其中第乙個可以稱為關鍵字,每個關鍵字只能在map中出現一次,第二個可能稱為該關鍵字的值 的資料處...