一、定義
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末尾的迭...