c 中STL中map的基本用法

2021-09-10 11:20:38 字數 4506 閱讀 4063

具體的詳見**或者

// map的基本使用

#include

"pch.h"

#include

//map需要包含的標頭檔案

#include

using namespace std;

intmain()

printf

("*************************************\n");

//2、insert方法 value_type 形式

map_test.

insert

(map<

int, string>

::value_type (4,

"four"))

; map_test.

insert

(map<

int, string>

::value_type (5,

"five"))

; map_test.

insert

(map<

int, string>

::value_type (6,

"six"))

;printf

("*************************************\n");

for(

auto iter = map_test.

begin()

; iter != map_test.

end(

); iter++

)printf

("*************************************\n");

//3、陣列的形式

map_test[7]

="seven"

; map_test[8]

="eight"

; map_test[9]

="nine"

;printf

("*************************************\n");

for(

auto iter = map_test.

begin()

; iter != map_test.

end(

); iter++

)printf

("*************************************\n");

// 檢視insert方法是否成功

pairint, string>

::iterator, bool> insert_pair;

insert_pair = map_test.

insert

(pair<

int, string>(1

,"one"))

;if(insert_pair.second == true)

else

printf

("*************************************\n");

for(

auto iter = map_test.

begin()

; iter != map_test.

end(

); iter++

)printf

("*************************************\n");

insert_pair = map_test.

insert

(pair<

int, string>(1

,"one_repeat"))

;if(insert_pair.second == true)

else

printf

("*************************************\n");

for(

auto iter = map_test.

begin()

; iter != map_test.

end(

); iter++

)printf

("*************************************\n");

//通過陣列可以成功其value值

map_test[1]

="one_array"

;printf

("*************************************\n");

for(

auto iter = map_test.

begin()

; iter != map_test.

end(

); iter++

)printf

("*************************************\n");

//通過迭代器改變其value值

auto iter1 = map_test.

begin()

; iter1->second =

"one_iter"

;printf

("*************************************\n");

for(

auto iter = map_test.

begin()

; iter != map_test.

end(

); iter++

)printf

("*************************************\n");

// 利用map的內建函式檢視是否有該元素

auto iter2 = map_test.

find(1

);if(iter2 != map_test.

end())

else

//利用陣列下標直接訪問存在的元素

printf

(" %s %d %d \n"

,map_test[1]

.c_str()

,map_test[1]

.size()

,map_test[1]

.length()

);//利用陣列下標直接訪問不存在的元素

printf

(" %s %d %d \n"

,map_test[11]

.c_str()

,map_test[11]

.size()

,map_test[11]

.length()

);//刪除乙個元素

auto iter3 = map_test.

begin()

; map_test.

erase

(iter3)

;printf

("*************************************\n");

for(

auto iter = map_test.

begin()

; iter != map_test.

end(

); iter++

)printf

("*************************************\n");

//刪除存在的元素 返回值為 1

int n = map_test.

erase(2

);if(n ==1)

else

//刪除不存在的元素 返回值為 1

n = map_test.

erase(22

);if(n ==1)

else

printf

("*************************************\n");

for(

auto iter = map_test.

begin()

; iter != map_test.

end(

); iter++

)printf

("*************************************\n");

// 清空元素

#if 0

map_test.

erase

(map_test.

begin()

,map_test.

end())

;#else

map_test.

clear()

;#endif

printf

("*************************************\n");

for(

auto iter = map_test.

begin()

; iter != map_test.

end(

); iter++

)printf

("*************************************\n");

}

stl中map的基本用法

c maps是一種關聯式容器,包含 關鍵字 值 對 c maps 被用作儲存 關鍵字 值 對 語法 iterator begin begin 函式返回乙個迭代器指向map的第乙個元素。語法 void clear clear 函式刪除map中的所有元素。語法 size type count const...

STL中 Map 的基本用法

一 大致了解 map是stl中的乙個關聯容器,和python中的資料型別字典一樣,map 型別變數中的元素也是由鍵 值對組成,沒有重複的鍵。其底層實現是紅黑樹 非嚴格意義上的平衡二叉樹 二 基本用法 基本用法包括 宣告乙個map型別的變數 向宣告的map變數中插入元素 查詢map變數中的元素 刪除m...

C 中STL中的map用法詳解

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