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存在時返回迭代器...