一、概念
vector本质就是一个封装好的数组(也就是数组描述的线性表),使用vector可以方便快捷的实现对数组中元素进行某些操作。
二、vector的声明
1、一维数组的声明
a、vector
vectorvec(10);
b、vector
vectorvec(10,1);
c、vector
vectorvec1(10,1); vector vec(vec1); //vec中所有元素均为1
d、vector
vectorvec1(10,1); vector vec(vec1.begin(),vec1.begin()+4)
e、vector
int nums={1,2,3,4,5,6,7,8,9,10}
vector vec(nums,nums+4);
2、二维数组的声明(以声明m×n的数组为例)
a、vector
这个需要一行行输入到一个向量中,再插入到vec中
vector> vec(m); vector vec1(n,1);//也可以自己用循环赋值 vec.push_back(vec1);//赋值完以后可以用clear()函数清空vec1.
b、vector
vector> vec(m); for(int i=0;i > vec(m,vector (n));
三、vector迭代器的声明
声明一个迭代器 it
vector::iterator it
四、常用函数
1、begin()返回vector容器第一个元素的地址
2、end()返回vector容器最后一个元素的下一个元素的地址
3、rbegin()返回一个逆序迭代器,它指向vector最后一个元素
4、rend()返回一个逆序迭代器,它指向vector的第一个元素的位置
5、push_back(a) 在尾部插入元素a
6、insert(vec.begin()+i,a)在vec第i个元素上插入a,从第i个元素及其后面的元素全部往后移。
7、insert(vec.begin()+i,n,a)在vec第i个元素后面插入n个a
8、insert(vec.begin()+i,arr+i1,arr+j1)arr为数组,在vec的第i个元素中插入arr的[i1,j1-1]的元素
9、erase(vec.begin()+i)删除vec第i+1个元素
10、erase(vec.begin()+i,vec.begin()+j)删除区间[i,j-1],从第0个元素开始算起
11、size() 返回vector大小
12、clear() 清空vector
13、pop_back() 删除最后一个元素
14、empty() 判断vector是否为空
15、a.assign(b.begin(),b.begin()+i)将b的前i+1个元素赋给a
16、a.assign(n,x) a含有n个元素,每个元素都为x
17、a.back() 返回a的最后一个元素
18、a.front() 返回a的第一个元素
19、vec.capacity() 返回vec在内存中总共可以容纳的元素个数
20、vec.resize(n) 将vec的元素个数调至n个,多则删,少则补,其值随机
21、vec.resize(n,m) 将vec的元素个数调至n个,多则删,少则补,其值为m
22、vec.reserve(n) 将vec的容量扩充至n
23、veca.swap(vecb) 将veca中的元素和b中的元素进行整体性交换
(暂时这点了,以后继续积累再补充,拿走不送)



