1、標(biāo)準(zhǔn)庫(kù)的map類(lèi)型

2、插入數(shù)據(jù)

#include <map>
#include <string>
#include <iostream>using namespace std;int main() {map<string, int> mapTest;// 插入到map容器內(nèi)部的元素是默認(rèn)按照key從小到大來(lái)排序// key類(lèi)型一定要重載小于號(hào)<運(yùn)算符mapTest["aaa"] = 100; // int& operator[](const string& index);mapTest["eee"] = 500; // 可以重新賦值,但是下面的用insert方法就不能重新賦值mapTest.insert(map<string, int>::value_type("bbb", 200));mapTest.insert(map<string, int>::value_type("bbb", 2000));mapTest.insert(pair<string, int>("ccc", 300));mapTest.insert(pair<string, int>("ccc", 3000));mapTest.insert(make_pair("ddd", 400));mapTest.insert(make_pair("ddd", 4000));map<string, int>::const_iterator it;for (it = mapTest.begin(); it != mapTest.end(); ++it){cout << it->first << " " << it->second << endl;}return 0;
}// 輸出
aaa 100
bbb 200
ccc 300
ddd 400
eee 500
3、查找與修改

#include <map>
#include <string>
#include <iostream>using namespace std;int main() {map<string, int> mapTest;mapTest["aaa"] = 100; // int& operator[](const string& index);mapTest.insert(map<string, int>::value_type("bbb", 200));mapTest.insert(pair<string, int>("ccc", 300));mapTest.insert(make_pair("ddd", 400));int n = mapTest["bbbc"]; // 這邊如果找不到ket的值,還是會(huì)返回0,這樣就不能判斷有沒(méi)有找到。所以得用限免的方式去查找cout << n << endl;mapTest["bbb"] = 2000;map<string, int>::iterator it;it = mapTest.find("ccc");if (it != mapTest.end()){it->second = 3000;}else{cout << "not found" << endl;}// map<string, int>::const_iterator it;for (it = mapTest.begin(); it != mapTest.end(); ++it){cout << it->first << " " << it->second << endl;}return 0;
}// 輸出
0
aaa 100
bbb 2000
bbbc 0
ccc 3000
ddd 400
4、刪除

#include <map>
#include <string>
#include <iostream>using namespace std;int main() {map<string, int> mapTest;// 插入到map容器內(nèi)部的元素是默認(rèn)按照key從小到大來(lái)排序// key類(lèi)型一定要重載小于號(hào)<運(yùn)算符mapTest["aaa"] = 100; // int& operator[](const string& index);mapTest.insert(map<string, int>::value_type("bbb", 200));mapTest.insert(pair<string, int>("ccc", 300));mapTest.insert(make_pair("ddd", 400));mapTest.erase("bbb");map<string, int>::const_iterator it;it = mapTest.find("ccc");if (it != mapTest.end()){mapTest.erase(it);}for (it = mapTest.begin(); it != mapTest.end(); ++it){cout << it->first << " " << it->second << endl;}return 0;
}// 輸出
aaa 100
ddd 400