C 學習筆記11 map

2022-07-24 10:24:12 字數 1319 閱讀 4879

map簡介

使用map包含map類所在的標頭檔案

#include

定義乙個map物件

mapmaptest;

容器型別

關聯 key/value

實現方式

紅黑樹插入資料

插入資料的四種方式

maptest["aaa"] = 100;

maptest.insert(map::value_type("bbb", 200));

maptest.insert(pair("ccc", 300));

maptest.insert(make_pair("ddd", 400));

區別第一種可以通過再次書寫修改指定key的value,而後三種不行。

#include #include 

#include

using

namespace

std;

void show_map(const map &maptest)

cout

<}int main(void

)

查詢與修改

查詢修改的兩種方式

maptest["aaa"] = 200;

map::iterator it = maptest.find("bbb");

if (it != maptest.end())

it->second = 300;

#include #include 

#include

using

namespace

std;

void show_map(const map &maptest)

cout

<}int main(void

)

刪除

刪除的兩種方式

maptest.erase("aaa");

map::const_iterator it = maptest.find("bbb");

if (it != maptest.end())

maptest.erase(it);

#include #include 

#include

using

namespace

std;

void show_map(const map &maptest)

cout

<}int main(void

)

11 map和reduce的使用

map 函式接收兩個引數,乙個是函式,乙個是iterable,map將傳入的函式依次作用到序列的每個元素,並把結果作為新的iterator返回。def f x return x x r map f,1,2,3,4,5,6,7,8,9 list r 1,4,9,16,25,36,49,64,81 ma...

C 學習筆記11

11.集合1.泛型集合所在命名空間 system.collection.qeneric 2.非泛型集合所在命名空間 system.collection 3.常用介面 1 enumerator 只要實現了該介面的類就支援foreach遍歷 2 icollection 實現了該介面,就能夠訪問count...

C 學習筆記11

本質上來說,模板就是將型別引數化以解決強型別語言的嚴格性和靈活性的衝突。當然這一問題的解決還有兩種方法,分別為帶引數巨集定義和過載函式。其中普通函式與函式模板可以過載,而且函式模板之間也可以過載。模板一般不進行分檔案編寫,可就在標頭檔案中實現,標頭檔案字尾為.hpp。模板可分為函式模板和類模板,通過...