C map的基本操作和使用

2021-07-15 14:26:02 字數 1586 閱讀 4715

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指向。

比如:

#include#include#includeusing namespace std;

int main()

可以看出,這個例子中,不僅僅是key值(first)進行了互換,第二個(second)也互換了。

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...