C++:map中数据的插入和删除

    xiaoxiao2021-03-25  99

    #pragma warning(disable:4786) #include <iostream> #include <string> #include <map> using namespace std; int main() { /* map<int,string> tmp; map<int,string>::const_iterator iter1,iter2; tmp.insert(pair<int,string>(54090104,"Bob")); tmp.insert(pair<int,string>(54090105,"Ben")); iter1 = tmp.begin(); iter2 = tmp.end(); */ map<int,string> studentMessage; map<int,string>::iterator iter; //向map中插入数据 studentMessage.insert(pair<int,string>(54090101,"Mike")); studentMessage.insert(pair<int,string>(54090101,"MIKE"));//重复插入 studentMessage.insert(map<int,string>::value_type(54090102,"Sam")); studentMessage.insert(map<int,string>::value_type(54090102,"SAM"));//重复插入 studentMessage[54090103] = "Jake"; studentMessage[54090103] = "JAKE";//重复插入 //为了测试删除,先插入两个数据,看插入结果主要看上面的插入方式 studentMessage[54090104] = "Bob"; studentMessage[54090105] = "Ben"; cout<<"完成插入后map中的数据:"<<endl; for(iter = studentMessage.begin() ; iter != studentMessage.end() ; ++iter) { cout<<iter->first<<" "<<iter->second<<endl; } //从map中删除数据 iter = studentMessage.begin(); studentMessage.erase(iter); cout<<"利用迭代器删除map中第一个元素:"<<endl; for(iter = studentMessage.begin() ; iter != studentMessage.end() ; ++iter) { cout<<iter->first<<" "<<iter->second<<endl; } studentMessage.erase(54090102); cout<<"利用键值删除map中的第一个元素:"<<endl; for(iter = studentMessage.begin() ; iter != studentMessage.end() ; ++iter) { cout<<iter->first<<" "<<iter->second<<endl; } studentMessage.erase(studentMessage.begin(),studentMessage.end()); cout<<"利用范围迭代器删除map中的所有数据:"<<endl; for(iter = studentMessage.begin() ; iter != studentMessage.end() ; ++iter) { cout<<iter->first<<" "<<iter->second<<endl; } return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-20642.html

    最新回复(0)