vector (向量) 定义一个不定长的数组,其长度可以随着用户的需求增加或减少
一、头文件:
#include <vector>
using namespace std;
二、声明:
a、vector <int> ve; (等价于定义了一个不定长度的 int[ ] 数组 )
b、vector <int *> ve; (等价于定义了一个不定长的指针数组,可以用来代替二维数组)
同理可以用 vector <int **> ve; 代替三维数组;
三、相关函数:
1、push_back 在数组的最后添加一个数据
2、pop_back 去掉数组的最后一个数据
3、at 得到编号位置的数据
4、begin 得到数组头的指针
5、end 得到数组的最后一个单元+1的指针
6、front 得到数组头的引用
7、back 得到数组的最后一个单元的引用
8、max_size 得到vector最大可以是多大
9、capacity 当前vector分配的大小
10、size 当前使用数据的大小
11、resize 改变当前使用数据的大小,如果它比当前使用的大,者填充默认值
12、reserve 改变当前vecotr所分配空间的大小
13、erase 删除指针指向的数据项
14、clear 清空当前的vector
15、rbegin 将vector反转后的开始指针返回(其实就是原来的end-1)
16、rend 将vector反转构的结束指针返回(其实就是原来的begin-1)
17、empty 判断vector是否为空
18、swap 与另一个vector交换数据
四、具体使用:(vector<int> ve;)
常用:
ve.insert(pos,elem) 在pos位置插入一个elem拷贝
ve.clear() 移除容器中所有数据。ve.empty() 判断容器是否为空
ve.erase(pos) 删除pos位置的数据
ve.pop_back() 删除最后一个数据。
ve.push_back(elem) 在尾部加入一个数据
ve.size() 回容器中实际数据的个数
ve.begin() 返回指向容器第一个元素的迭代器
ve.end() 返回指向容器最后一个元素的迭代器
注:迭代器需要定义:vector<int>::iterator it;
其他:
ve.erase(beg,end) 删除[beg,end)区间的数据
ve.front() 传回第一个数据
ve.resize(num) 重新设置该容器的大小
本菜鸡比较懒 @(*^* _*^*)@ 就不粘贴代码了,后续会继续跟进 set map string