1.
集合set。定义:
set<int> s1; 类型可选。
se.begin() 返回指向第一个元素的迭代器
se.clear() 清除所有元素 //常用
se.count() 返回某个值元素的个数 //常用,一般用来查这个元素在不在集合中
se.empty() 如果集合为空,返回true
se.end() 返回指向最后一个元素之后的迭代器,不是最后一个元素
se.erase() 删除集合中的元素 //常用
se.find() 返回一个指向被查找到元素的迭代器
se.insert() 在集合中插入元素 //常用
se.max_size() 返回集合能容纳的元素的最大限值
se.size() 集合中元素的数目
se.swap() 交换两个集合变量
遍历用到迭代器。
for (set<int>::iterator it = s.begin(); it != s.end(); ++it) {
cout << *it << endl;
}
2.
map
定义 map< string , int > m;
以一个string形式的变量指向一个int型的变量(个人理解)
map<string,string> aaa;
aaa [ b ] =a;
3.
queue的用法
queue<int> a;
a.push push即在队尾插入一个元素
a.pop 将队列中最靠前位置的元素拿掉,是没有返回值的void函数
a.size 返回队列中元素的个数,返回值类型为unsigned int
a.empty 判断队列是否为空的,如果为空则返回true
a.front 返回值为队列中的第一个元素,也就是最早、最先进入队列的元素。注意这里只是返回最早进入的元素,并没有把它剔除出队列。
a.back 返回队列中最后一个元素,也就是最晚进去的元素。
4.
vector
vec.begin()//指向迭代器中第一个元素。
vec.end()//指向迭代器中末端元素的下一个,指向一个不存在元素。
vec.push_back(elem) //在尾部加入一个数据。
vec.pop_back() //删除最后一个数据。
vec.capacity() //vector可用空间的大小。
vec.size()//返回容器中数据个数。
vec.empty() //判断容器是否为空。
vec.front() //传回第一个数据。
vec.back() //传回最后一个数据,不检查这个数据是否存在。
vec.at(index) //传回索引idx所指的数据,如果idx越界,抛出out_of_range。
vec.clear() //移除容器中所有数据。
vec.erase(iterator) //删除pos位置的数据,传回下一个数据的位置。
vec.erase(begin,end) //删除[beg,end)区间的数据,传回下一个数据的位置。注意:begin和end为iterator
vec.insert(position,elem) //在pos位置插入一个elem拷贝,传回新数据位置。
vec.insert(position,n,elem) //在pos位置插入n个elem数据,无返回值。
vec.insert(position,begin,end) //在pos位置插入在[beg,end)区间的数据,无返回值。