map是一類關聯式容器。它的特點是增加和刪除節點對迭代器的影響很小,除了那個操作節點,對其他的節點都沒有什麼影響。對於迭代器來說,可以修改實值,而不能修改key。
map能自動建立key - value的對應。key 和 value可以是任意你需要的型別。
map中的元素是自動按key公升序排序,所以不用對map進行排序,也無法排序(如果要按降序輸出,可以用map.sizeof( ) 獲得map的長度)。
根據key值快速查詢記錄,查詢的複雜度基本是log(n),如果有1000個記錄,最多查詢10次,1,000,000個記錄,最多查詢20次。
標頭檔案: #include
map最基本的建構函式;
map(a,b)name;a和b都是型別名 a是輸入的變數型別,b是a要對映的型別;
在輸出時,a用first指向,b用second指向。
比如:
可以看出,這個例子中,不僅僅是key值(first)進行了互換,第二個(second)也互換了。#include#include#includeusing namespace std;
int main()
map的sort函式:(map會自動對成員進行sort排序,這點跟最小堆相像)
#include#includeusingnamespace std;
int main( )
{mapm1;
map ::iterator m1_iter;
m1.insert (pair (1, 20 ) );
m1.insert ( pair( 4, 40) );
m1.insert ( pair( 3, 60) );
m1.insert ( pair( 2, 50) );
m1.insert ( pair( 6, 40) );
m1.insert ( pair( 7, 30) );
cout<< "the original map m1is:"map的基本操作函式:
c++maps 是一種關聯式容器,包含「關鍵字/值」對
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的函式
C map的基本操作和使用
map是c 的乙個標準容器,她提供了很好一對一的關係,在一些程式中建立乙個map可以起到事半功倍的效果,總結了一些map基本簡單實用的操作!1.map最基本的建構函式 mapmapstring mapmapint mapmapstring map char string mapchar mapmap...
C map的基本操作和使用
map是c 的乙個標準容器,她提供了很好一對一的關係,在一些程式中建立乙個map可以起到事半功倍的效果,總結了一些map基本簡單實用的操作!1.map最基本的建構函式 mapmapstring mapmapint mapmapstring map char string mapchar mapmap...
C map的基本操作和使用
map是c 的乙個標準容器,她提供了很好一對一的關係,在一些程式中建立乙個map可以起到事半功倍的效果,總結了一些map基本簡單實用的操作!1.map最基本的建構函式 mapmapstring mapmapint mapmapstring map char string mapchar mapmap...