①vector的用法
②string的用法:
③pair的用法:
pair<T1 , T2> P 常用来定义map使用的变量
④map的用法:
1.map中三种值类型:key_value键值first,mapped_type值second ,value_type---pair<>。
2.初始化map: map<T1,T2> m;
3.插入insert:插入的值是 pair , map<T1,T2>::value_type , make_pair类型。
返回值是: pair<map<string,int>::iterator , bool>
4.查找:find返回迭代器,count返回数目:0或1。
5.删除:erase(k)返回删除个数。erase(p) 和 erase(begin,end)返回 void。
⑤set的用法:
1.set是单纯的键(key)的集合。
2.set的很多操作和map一样,insert,count,find,erase
3.用vector初始化set相同元素被省略
⑥multimap 和 multiset的用法:
#include <iostream>
#include <map>
#include <string>
#include <set>
#include <vector>
using namespace std;
int main()
{
//1.定义pair类型
pair<string , int> p("Anna",1);
map<string,int> m;
typedef map<string,int>::value_type mapValue;
m["Kurumi"] = 3; //通过下标插入值
m.insert(p); //插入一个pair类型值
m.insert(mapValue("Misaka",1));
m.insert(mapValue("Hina",2));
m.insert(make_pair("Asuna",4)); //make_pair插入值
//insert返回值类型 pair<map<string,int>::iterator , bool>
pair<map<string,int>::iterator , bool> bRet = m.insert(make_pair("Hina",1));
if (bRet.second == false)
{
cout << "插入失败" <<endl;
}
else
{
cout << "插入成功" <<endl;
}
cout <<"-----------统计某个值出现次数,返回值 0 或 1 -----------------"<<endl;
cout << m.count("Hina") <<endl;//map中不是0就是1
cout <<"-----------------------map中所有变量--------------------------"<<endl;
for (map<string,int>::iterator it = m.begin(); it != m.end() ; ++it)
{
cout << "<"<<it->first << " , " <<it->second << ">" <<endl;
}
cout <<"------------------find-Hina之后的变量------------------------"<<endl;
map<string,int>::iterator itFind = m.find("Hina");
for (map<string,int>::iterator it = itFind ; it != m.end() ; ++it)
{
cout << " < "<<it->first << " , " <<it->second << " > " <<endl;
}
cout <<"---------erase的用法,删除变量成功返回1,失败返回0------------"<<endl;
cout << m.erase("Hina") <<endl;
cout <<"------------用vector初始化 set相同的元素会被去掉---------------"<<endl;
vector<int> vecInt;
set<int> setInt;
for (int i = 0 ; i != 10 ; ++i)
{
vecInt.push_back(i);
vecInt.push_back(i);
}
setInt.insert(vecInt.begin(),vecInt.end());
for (set<int>::iterator it = setInt.begin() ; it != setInt.end() ; ++it)
{
cout << *it <<" ";
}
return 0;
}