c map的使用方法

2021-06-06 05:24:33 字數 2084 閱讀 8383

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

1. map建構函式;

mapmapstring;

mapmapint;

mapmapstring;

map< char ,string>mapchar;

mapmapchar;

mapmapint;

2. map新增資料;

mapmaplive;

maplive.insert(pair(102,"aclive"));

maplive.insert(map::value_type(321,"hai"));

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

3. map中元素的查詢:

find()函式返回乙個迭代器指向鍵值為key的元素,如果沒找到就返回指向map尾部的迭代器。

map::iterator l_it;;

l_it=maplive.find(112);

if(l_it==maplive.end())

cout<<"we do not find 112"<

else cout<<"wo find 112"<

4,map中元素的刪除:

如果刪除112;

map::iterator l_it;;

l_it=maplive.find(112);

if(l_it==maplive.end())

cout<<"we do not find 112"<

else

maplive.erase(l_it);

//delete 112;

5,map中 swap的用法:

map中的swap不是乙個容器中的元素交換,而是兩個容器交換;

for example:

#include

#include

using namespace std;

int main( )

6.map的sort問題:

map中的元素是自動按key公升序排序,所以不能對map用sort函式:

for example:

#include

#include

using namespace std;

int main( )

the original map m1 is:

1 20

2 50

3 60

4 40

6 40

7 30

請按任意鍵繼續. . .

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

C map使用方法總結

目錄 1.概述 2.map的基本操作 2.1 插入操作 2.2 取值 2.3.容量查詢 2.4 刪除 2.5 查詢 2.6 使用舉例 3.map基本操作函式總結 map是c 標準模板庫 stl 中的一種關聯式容器。它的特性是,所有元素都會根據元素的鍵值自動被排序,即map的所有元素都是pair,同時...