map结构快速入门

来源:互联网 发布:mac terminal 自动补全 编辑:程序博客网 时间:2024/05/16 10:45
//网上找的一个实例,介绍了创建map、添加数据、删除数据、清空数据等基本功能。另map的key不可重复,value可重复
//map.cout(key);  返回bool,是否存在这个key
//map.find(key);  返回key对应的value
#include <iostream>#include <map>#include <string>using namespace std;int main(){cout << "Program Activate!" << endl << endl;map<string, string> mapNameList;// Add Datacout << "Add Data!" << endl;// Method [1]mapNameList.insert(pair<string, string>("101", "Tsybius"));mapNameList.insert(pair<string, string>("102", "Galatea"));mapNameList.insert(pair<string, string>("105", "Lepidus"));mapNameList.insert(pair<string, string>("104", "Octavius"));mapNameList.insert(pair<string, string>("103", "Antonius"));// Method [2]mapNameList.insert(map<string, string> ::value_type("106", "Atia"));// Method [3]mapNameList["107"] = "Servilia";cout << endl;// Output Values cout << "Find Keys " << endl;cout << "102: "<<mapNameList["102"] << endl;cout << "108: "<<mapNameList["108"] << endl;cout << endl;// Traverse Mapcout << "Traverse Map" << endl;map<string, string> ::iterator iter;for (iter = mapNameList.begin(); iter != mapNameList.end(); iter++){cout << iter->first << " 's value is " << iter->second << endl;}cout << endl;// Erase Keycout << "Erase Key 104 & 107" << endl;mapNameList.erase("104");//删除当前数据点,指针指向下一个地址mapNameList.erase(mapNameList.find("105"));cout << endl;// Traverse Mapcout << "Traverse Mag Again!" << endl;for (iter = mapNameList.begin(); iter != mapNameList.end(); iter++){cout << iter->first << "'s value is " << iter->second << endl;}cout << endl;// Clear Mapcout << "Count of pairs: " << mapNameList.size() << endl;mapNameList.clear();cout << "Map Cleared!" << endl;cout << "Count of pairs: " << mapNameList.size() << endl << endl;cout << "Program Closed" << endl;getchar();return 0;}

0 0
原创粉丝点击