關聯容器(三) map

2021-07-08 18:16:48 字數 2240 閱讀 5077

map介紹:

關聯容器類,紅黑樹,預設按key公升序排序,集合中每個元素是乙個key、value對,key唯一,可通過key快速得到對應的value。

常用函式:

(1)    建構函式/賦值

map(); // 預設建構函式

map(const map& m) // 拷貝建構函式

map(iterator begin, iterator end ); //區間建構函式

map(iterator begin, iterator end, const traits& _compare) //帶比較謂詞的建構函式

map(iterator begin, iterator end, const traits& _compare, const allocator& all) //帶分配器

(2)    增加函式/刪除函式

clear清空map

emplace插入乙個元素(不執行copy或move操作)到map

emplace_hint插入乙個元素(不執行copy或move操作)到map,有位置

erase從map中移除指定位置或範圍的資料

insert在map的指定位置插入一或多個元素

eg:m_map.insert(map::value_type("hello",5));

m_map.insert(make_pair("hello",5));

maptest.insert(pair("string99999", 1));//insert-pair

(3)    遍歷函式/訪問函式

at返回map中指定map鍵對應的map值

begin返回指向map中第乙個元素的迭代器

cbegin返回指向map中第乙個元素的const迭代器

cend返回指向map的結尾位置之後位置的const迭代器

crbegin返回指向map的反方向開始位置的const迭代器

crend返回指向map的反方向結尾位置之後位置的const迭代器

end返回指向map的結尾位置之後位置的迭代器

rbegin返回指向map的反方向開始位置的迭代器

rend返回指向map的反方向結尾位置之後位置的迭代器

equal_range返回迭代器對,表示指定key的lower_bound和upp

lower_bound返回指向map中大於等於指定key的第乙個元素的位置的迭代器

upper_bound返回指向map中大於指定key的第乙個元素的位置的迭代器

operator在map中插入乙個元素,或訪問乙個已有元素

(4)查詢/替換/比較

find返回指向map中指定key的元素位置的迭代器

value_comp返回用於對map的元素排序的比較物件的拷貝

key_comp返回用於對map的key排序的比較物件的拷貝

(5)    判斷函式

empty如果map為空,返回true

(6)    大小函式/個數函式

count返回map中指定鍵對應的元素個數

max_size返回map的最大長度

size返回map中的元素個數

(7)    其他函式

get_allocator返回建立map的allocator的拷貝

operator=使用另乙個map的拷貝替換map中的元素

swap交換兩個map中的元素

示例**:

#include "stdafx.h"

#include #include #include #include #include //greater必須包含此檔案

#include using namespace std;

int _tmain(int argc, _tchar* argv)

輸出:

aaaa,3333

bbbb,2222

cccc,4444

dddd,5555

jjjjk,94943

string1333,145

string15454,156

string8989,165

string99999,1

test1test,5565

maptest["dddd"]:5555

maptest.at("dddd"):5555

maptest.find("dddd"):dddd,5555

請按任意鍵繼續. . .

map關聯容器

資料表記錄包含表索引和數值,請對錶索引相同的記錄進行合併,即將相同索引的數值進行求和運算,輸出按照key值公升序進行輸出。輸入描述 先輸入鍵值對的個數 然後輸入成對的index和value值,以空格隔開 輸出描述 輸出合併後的鍵值對 多行 輸入例子 4 0 10 2 1 23 4 輸出例子 0 3 ...

關聯容器map

map是一種key value關聯的容器,第乙個稱為關鍵字,只能在map中出現一次,第二個稱為關鍵字的值。特點 map是一類關聯式容器。它的特點是增加和刪除節點對迭代器的影響很小,除了那個操作節點,對其他的節點都沒有什麼影響。對於迭代器來說,可以修改實值,而不能修改key。1 map是 鍵 值 對的...

map容器即關聯容器

include string include map using namespace std intmain 資料 1.對映和多重對映以容器以鍵 值對 pair物件 的形式管理他們的元素,其元素按照 某種標準對鍵進行排列,預設標準為 排序時比較pair物件的資料成員first的值.相等則比較seco...