C map使用方法總結

2021-10-10 03:37:10 字數 2695 閱讀 2174

目錄

1.概述

2. map的基本操作

2.1 插入操作

2.2 取值

2.3. 容量查詢 

2.4 刪除

2.5 查詢

2.6 使用舉例

3.map基本操作函式總結

map是c++標準模板庫(stl)中的一種關聯式容器。它的特性是,所有元素都會根據元素的鍵值自動被排序,即map的所有元素都是pair,同時擁有實值(value)和鍵值(key)。pair的第乙個元素被視為鍵值,第二個元素被視為實值,且不允許兩個元素擁有相同的鍵值。標準的stl map即以rb-tree為底層機制,map所開發的各種操作介面函式基本都是轉呼叫rb-tree的操作行為。

下面是中的pair定義:

template struct pair 

pair(const _t1& __a, const _t2& __b) : first(__a), second(__b) {}

};

make_pair函式:

template pair make_pair(t1 a, t2 b)
map資料構造的方式示例:

mapstumap;

stumap[1001]="jason";

stumap.insert(pair(1002,"helen"));

stumap.insert(make_pair(1003,"steve"));

map中元素取值主要有at和[ ]兩種操作,at會作下標檢查,而不會。

//stumap中沒有關鍵字1004,使用取值會導致插入

//因此,下面語句不會報錯,但列印結果為空

cout <<"stumap[1004]:"<#include #include using namespace std;

int main()

cout<<"————————————————————取值操作—————————————————"second << endl; }

stumap.erase(1004);

iter = stumap.begin();

for (; iter != stumap.end(); ++iter) }

cout<<"after delete"second << endl; }

cout<<"————————————————————查詢操作—————————————————"}

return 0;

}

執行結果:

[root@192 5_stl_associated_container]# ./5_4_map-test

————————————————————插入操作—————————————————

id:1001 name:jason

id:1002 name:helen

id:1003 name:steve

————————————————————取值操作—————————————————

stumap[1004]:

————————————————————容量查詢—————————————————

stumap empty state is false

stumap size is 4

stumap.count(1008) is 0

————————————————————刪除操作—————————————————

before delete

id:1001 name:jason

id:1002 name:helen

id:1003 name:steve

id:1004 name:

after delete

id:1001 name:jason

id:1003 name:steve

————————————————————查詢操作—————————————————

stumap.find(1001) name:jason

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提供一對一的hash,採用key value鍵值對,可以是任意型別 包括自定義型別 標頭檔案 include 定義乙個map物件 mapmapstudent 插入資料 陣列方式,若已存在鍵,會覆蓋 mapstudent 1 student one 插入資料 pair方式,若已存在鍵,插入失敗 ...

c map的使用方法

map是c 的乙個標準容器,它提供了很好一對一的關係,在一些程式中建立乙個map可以起到事半功倍的效果,總結了一些map基本簡單實用的操作!1.map建構函式 mapmapstring mapmapint mapmapstring map char string mapchar mapmapchar...

C map的使用方法

map是stl的乙個關聯容器,它提供一對一 其中第乙個可以稱為關鍵字,每個關鍵字只能在map 現一次,第二個可能稱為該關鍵字的值即key value 的資料 處理能力,由於這個特性,它完成有可能在我們處理一對一資料的時候,在程式設計上提供快速通道。這裡說下map內部資料的組織,map內部自建一顆紅黑...