STL中 Map 的基本用法

2021-10-09 22:00:42 字數 1572 閱讀 8592

一、大致了解

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中出現一次,第二個可能稱為該關鍵字的值 的資料處...