动态数组Vector
使用方法,需要添加头文件#include<vector>
,使用vector<数据类型>变量名
这样就可以定义一个vector的变量。
以vector<int>a
为例
1,在数组尾部添加一个元素 a.push_back(1);
。
2,在数组尾部删除一个元素 a.pop_back(1);
。
3,访问方法,和数组相同,通过下标从0开始。
4,获取长度,使用a.size()
。
集合Set
集合中不会有重复的元素,使用方法,需要添加头文件#include<set>
,使用set<数据类型>变量名
这样就可以定义一个set集合。
以set<string>a
为例
1,插入元素,a.insert()
,注意当插入元素在集合中存在的时候,集合不会产生任何变化。
2,删除元素,a.erase()
,注意当删除元素在集合中不存在的时候,集合不会产生任何变化。
3,判断元素是否在集合中存在,a.count()
存在返回1,不存在返回0。
4,遍历引用元素,需要使用迭代器。具体方法如下
for(set<string>::iterator it=a.begin();it!=a,end;it++)
{
cont<<*it<<endl;
}
映射Map
是两个集合之间的元素相互对应关系,例如有一个姓名集合,一个班级集合。如下图
姓名集合为关键字集合(key),班级集合为值集合(value)。
使用方法,需要添加头文件#include<map>
,map<key的类型,value的类型>映射名
。
以map<string,int>m
为例
1,插入映射,m.insert(make_pair(key中元素,value中元素));
。如果插入的key已经存在,那么此次插入是无效的。
2,访问映射,通过中括号例如m["Tom"]=1
,这样可以更改所对应的值。
3,检测是否有映射,通过m.count()
。