一、迭代器,insert 添加元素。
#include <map>
#include <string>
#include <iostream>
#include <vector>
#include <set>
using namespace std;
int main()
{
/***********************************
* 关联容器map和set 的关键字都是const不能修改,map的值可以修改.
* 修改map 的值
*/
/*
std::map<int, std::string> m = {{1,"aa"},{2,"bb"},{3,"cc"}};
for(auto iter = m.begin();iter != m.end();iter++)
{
iter->second = "dd";
std::cout << iter->first <<"\t"<<iter->second <<std::endl;
}*/
/***********************************
* //关联容器insert 函数, 插入过程自动过滤已经存在的关键字,因此不会重复
*/
/*
vector<int> ivec = {2,4,6,8,2,4,6,8};
set<int> set2;
set2.insert(ivec.begin(),ivec.end());
//cout<<set2.size()<<endl;
set2.insert({1,3,5,7,1,3,5,7});
//cout<<set2.size()<<endl;
for(auto iter = set2.begin() ; iter != set2.end();iter++)
{
cout<<*iter<<endl;
}
*/
/*******************
* 向 关联容器 map 添加元素insert 方法的几种插入形式,使用pair
* C++ primer 383
* mapped_type : size_t
* key_value : string
* value_type : pair<string,size_t>
*
* 检测insert返回值,返回一个pair.
* 其first是一个迭代器,指向具有给定关键字的元素
* 其second成员是一个布尔值,表示是否插入成功
*/
map<string,size_t> word_count; //不可重复
string word("love");
word_count.insert({word,1});
word_count.insert(make_pair("santana",1));
word_count.insert(pair<string,size_t >("loves",1));
word_count.insert(map<string,size_t >::value_type("dont love",1));
auto ret = word_count.insert({"zhang",1});
//元素已经存在插入失败,否则插入成功
if(ret.second)
{
cout<<"插入成功"<<endl; //插入成功,指向该关键字的元素
ret.first->second = 5;
}
else
{
cout<<"插入失败"<<endl;//如果该元素已经存在.插入失败,迭代器指向这个元素
ret.first->second++;
}
//cout<<word_count.size()<<endl;
for(auto iter = word_count.begin() ; iter != word_count.end() ; iter++)
{
cout<<iter->first<<endl;
cout<<iter->second<<endl;
}
cout<<"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"<<endl;
//可重复
multimap<string,size_t > word_mul;//可重复
word_mul.insert(make_pair("santana",1));
word_mul.insert(pair<string,size_t >("santana",1));
word_mul.insert(multimap<string,size_t >::value_type("dont love",1));
for(auto iter = word_mul.begin() ; iter != word_mul.end() ; iter++)
{
cout<<iter->first<<endl;
cout<<iter->second<<endl;
}
return 0;
}
二、删除元素
C++ 关联容器set 和 map 迭代器,insert 添加元素,删除元素。
原文:https://www.cnblogs.com/wbscpp/p/13236443.html