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

来源:互联网 发布:php建站源码 编辑:程序博客网 时间:2024/06/06 06:30
#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;}
0 0
原创粉丝点击