1、map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值。
2、map内部所有的数据都是有序的
3、map的插入最常见是数组方式。
#include <map> #include <string> #include <iostream> using namespace std; int main() { map<int, string> mapStudent; mapStudent[1] = "student_one"; mapStudent[2] = "student_two"; mapStudent[3] = "student_three"; map<int, string>::iterator it; for(it = mapStudent.begin(); it != mapStudent.end(); it++) { cout<<it->first<<" "<<it->second<<endl; } }
4、map的查找是按照关键字查找的,相当于是索引。------通过索引找到你想找的值。第一个存索引,第二个存值。
5、用find函数来定位数据出现位置,它返回的一个迭代器,当数据出现时,它返回数据所在位置的迭代器,如果map中没有要查找的数据,它返回的迭代器等于end函数返回的迭代器。
find(里面写的是索引----关键字),返回的是一个迭代器(类似指针)。
#include <map> #include <string> #include <iostream> using namespace std; int main() { map<int, string> mapStudent; mapStudent.insert(pair<int, string>(1, "student_one")); mapStudent.insert(pair<int, string>(2, "student_two")); mapStudent.insert(pair<int, string>(3, "student_three")); map<int, string>::iterator iter; iter = mapStudent.find(1); if(iter != mapStudent.end()) { cout<<"Find, the value is "<<iter->second<<endl; } else { cout<<"Do not Find"<<endl; } }
6、map#include <map>
#include <string> #include <iostream> using namespace std; int main() { map<int, string> mapStudent; mapStudent.insert(pair<int, string>(1, "student_one")); mapStudent.insert(pair<int, string>(2, "student_two")); mapStudent.insert(pair<int, string>(3, "student_three")); map<int, string>::iterator it; it = mapStudent.find(1); mapStudent.erase(it); //如果要删除1,用关键字删除 int n = mapStudent.erase(1);//如果删除了会返回1,否则返回0
//用迭代器,成片的删除 ,前闭后开。 mapStudent.earse(mapStudent.begin(), mapStudent.end()); }
标签:map,mapStudent,insert,student,pair,include From: https://www.cnblogs.com/bhd123/p/17239577.html