C 中map的使用

2021-09-25 01:27:06 字數 1607 閱讀 1001

map的特性是,所有元素都會根據元素的減值自動被排序。map的所有元素都是pair,同時擁有實值(value)和鍵值(key)。pair的第乙個元素會被視為鍵值,第二個元素會被視為實值。map不允許兩個元素擁有相同的鍵值。

下面看一下中的pair定義:

template

struct pair

pair(const t1&a,const t2&b) :first(a),second(b) {}

當客戶端對map進行元素新增操作(insert)和刪除(erase)時,操作之前的所有迭代器,在操作完成之後依然有效。被刪除的迭代器除外。

標準的stl map是以紅黑樹為底層機制完成的,每乙個節點的內容是乙個pair。

一、map的基本建構函式

mapstrmap;        

mapintmap;

mapstrmap;        

map< char ,string>charmap;

mapcharmap;           

mapintmap;

二、map新增資料

mapmaplive;  

1.pairvalue(1,"a");maplive.insert(value);

等價於maplive.insert(pair(1,"a"));

2. maplive.insert(map::value_type(1,"a"));

3. maplive[1]="a";//map中最簡單最常用的插入新增!

三、map的基本操作函式:

begin()          返回指向map頭部的迭代器

clear()         刪除所有元素

count()          返回指定元素出現的次數

empty()          如果map為空則返回true

end()            返回指向map末尾的迭代器

equal_range()    返回特殊條目的迭代器對

erase()          刪除乙個元素

find()           查詢乙個元素

get_allocator()  返回map的配置器

insert()         插入元素

key_comp()       返回比較元素key的函式

lower_bound()    返回鍵值》=給定元素的第乙個位置

max_size()       返回可以容納的最大元素個數

rbegin()         返回乙個指向map尾部的逆向迭代器

rend()           返回乙個指向map頭部的逆向迭代器

size()           返回map中元素的個數

swap()            交換兩個map

upper_bound()     返回鍵值》給定元素的第乙個位置

value_comp()      返回比較元素value的函式

1 #include 2 #include "string.h"

3 #include "stdio.h"

4 #include5 using namespace std;

6 7 int main()

原文: 

C 中map的使用

1.map 是什麼?map表示鍵值對的對映。在現代程式語言中,是乙個很重要的資料結構。以下對c 中的map進行乙個簡單的介紹。2.map 的主要操作 2.1 map的定義 mapma 2.2 map的使用 ma 1 11 ma 2 22 ma 3 33 2.3 map的遍歷for int i 1 i...

C 中map的使用

目錄 1.簡單的map 2.hash map unorder map 3.通過key找value 和 通過value找key begin 返回指向map頭部的迭代器 clear 刪除所有元素 count 返回指定元素出現的次數 empty 如果map為空則返回true end 返回指向map末尾的迭...

c 中map的使用

1.map的定義 mapmp 2.map容器內元素的訪問 通過下標訪問時需要先檢查key是否存在,不檢查的話會在map中新增 key,value 其中value是預設值,然後返回value 檢查key存在否可以用find key 或者mp.count key find key key存在時返回迭代器...