C 中map的使用總結

2021-08-18 06:26:01 字數 1749 閱讀 5197

一、定義

mapmap; //宣告乙個容器

map.size()  返回

map中元素的個數

map::iterator it  //宣告乙個

迭代器二、插入資料

插入資料之前先說一下pair 和

make_pair

的用法pair是乙個結構體,有

first

和second

兩個域,可以直接訪問

1 string key="sunquan";  

2 int value=123456;  

3 pair b(key, value);//這裡

pair

是資料型別,後面是調帶參構造方法  

4 cout《而make_pair是返回乙個

pair <

型別,型別

>  

的資料,eg:

make_pair("asa",123456);  

不過還得找個

pair

型別的變數來接受返回值。

下面三種插入資料的方法都是正確的:

(1) map["abc"]=1;

(2) map.insert(pair("c",3));

(3)map.insert(make_pair("d",4)); 

三、修改和查詢資料(1

)修改map["sunquan"]=11111;(2

)查詢資料 用

map.find(key);

可以通過鍵來查。會返回迭代器的位址,

key不存在的話迭代器的值為

map.end

()。切記不要用int value=map[key];這樣會在

map中增加這個

key,而

value

就是預設值(

int 為0

,string

為空字串)。

四、刪除元素

(1)通過

key刪除;

(2)通過迭代器來刪除;

如下**中包含了兩種刪除元素的方法:

#include

#include

#include

#include

using namespace std;

int main()  

mapmap;  

map::iterator it;  

map.insert(pair("first",11));  

map.insert(pair("second",22));  

for(it=map.begin();it!=map.end();it++)  

coutmap.erase(it);//通過迭代器刪除  

string key="root";  

map.erase(key);//通過

key刪除  

map.erase(map.begin(),map.end());//乙個迭代器,到另乙個迭代器  

//相當於  

map.clear();  

for(it=map.begin();it!=map.end();it++)  

cout五、map中其他常用函式

clear() 刪除所有元素;

count() 返回指定元素出現的次數,可以用於判斷key是否存在,返回

0則表示不存在,

1表示存在;

empty() 如果

map為空則返回

true。

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的使用

map的特性是,所有元素都會根據元素的減值自動被排序。map的所有元素都是pair,同時擁有實值 value 和鍵值 key pair的第乙個元素會被視為鍵值,第二個元素會被視為實值。map不允許兩個元素擁有相同的鍵值。下面看一下中的pair定義 template struct pair pair ...

C 中map的使用

目錄 1.簡單的map 2.hash map unorder map 3.通過key找value 和 通過value找key begin 返回指向map頭部的迭代器 clear 刪除所有元素 count 返回指定元素出現的次數 empty 如果map為空則返回true end 返回指向map末尾的迭...