模板类Vector
vector<int> v1 = { 1,2,3,4,5,6};
vector<int> v2 = { 11,22,33,55,66};
int nums = v1.size();
swap(v1[0] , v2[0]); // swap()需包含头文件:#include <algorithm>
使用迭代器:
vector<int>::iterator pos;
pos = v1.begin(); //获取第一个元素
pos = v1.end(); //获取最后一个元素
或
auto pos = v1.begin(); //使用auto必须立即初始化
auto pos1= v1.end();
begin() 和 end() 最基础用法可用于遍历容器元素:
for(pos = v1.begin(); pos != v1.end(); pos++) { ... } //获得的pos类似指针,取元素值操作: *pos
push_back():添加元素到末尾,长度自动增加
v1.push_back(10); //添加(int)10 到v1末尾
erase():删除指定区间内容,长度自动减小
v1.erase(v1.begin(), v1.begin()+2); //删除v1的前2个元素,不包括第3个元素
insert():插入一定区间内元素,三个参数(第一个:指定插入位置,第二、第三个:插入的区间)
v2.insert(v2.begin(), v1.begin(), v1.end()); //将v1所有元素插入到v2第一个元素前面
for_each():对区间内所有元素执行指定操作(第一、第二个参数指定区间,第三个参数为函数指针(函数对象))
for_each(v1.begin(), v1.end(), f_print); //f_print()函数不能修改区间内元素
random_shuffle():随机排列区间内元素
random_shuffle(v1.begin(), v1.end());
sort():对区间内元素进行排序(内置的 < 运算符比较)
sort(v1.begin(), v1.end());