目录
(7)resize()
(1) 改变容器大小
(2)改变容器大小,并改变元素的值
1、vector简介
简单来说,vector是一种动态数组,可以根据需要自动调节大小。并且还可以随机访问、插入和删除元素。
2、vecotr的初始化
使用vector时,需要引用头文件<vector>:#include<vector>;
(1)、创建一个空的vector容器
例:vector<int> v;//创建了一个整数类型向量
(2)、创建一个固定大小的vector容器:
例:vector<int> v(N); //创建了一个大小为N的整数向量,向量中的元素初始化为0;
(3)、创建一个vector容器
例:vector<int> v = {1, 2, 3,4};
3、vector内元素的访问方式
(1)、利用下标访问
和数组一样,直接使用下标进行访问:v[0] 、 v[1] 、v[2] //分别访问第1、2、3个元素;
vector<int> v = { 1, 3, 6};
cout << v[0] << endl;
cout << v[1] << endl;
cout << v[2] << endl;
(2)利用at()方法访问
v.at(2); // 访问第3个元素;
vector<int> v = { 1, 3 ,6};
cout << v.at(2) << endl; //访问第三个元素
(3)利用迭代器遍历访问
使用vector<int>::iterator进行遍历
vector<int> v = {1, 2, 4, 7};
for(vector<int>::iterator it = v.begin(); it != v.end();it++)
{
int element = *it;
cout << element << endl;//遍历输出vector中的所有元素
}
(4)使用范围-based for 循环
for(int element : v) //变量element 会一次取得向量v中的每一个元素;
vector<int> v = {2, 3, 5};
for(int element : v)
cout << element << endl;//遍历输出vector中的所有元素
(5)访问第一个和最后一个元素
int firstElement = v.front(); //获取第一个元素
vector<int> v = {1,3,5};
int firstElement = v.front(); //获取第一个元素“1”
int lastElement = v.back();//获取最后一个元素
vector<int> v = {1,2,5};
int lastElement = v.back(); //获取最后一个元素“5”
4、vector相关函数的使用方法
(1)push_back()
push_back(x);在vector容器后添加一个元素x。
vector<int> v;
v.push_back(1);
v.push_back(2);
/*等价于v = {1,2}*/
(2)pop_back()
pup_back();删除vector容器最后的一个元素;
vector<int> v = {1,2,6,9};
v.pup_back();
//此时v= {1,2,6};
(3)size()
size()获取vector容器的元素个数;
vector<int> v = { 1,3,4};
cout << v.size(); //输出元素个数,输出结果为3
(4)clear()
clear()删除vector容器中所有的元素;
vector<int> v = {1,22,44};
v.clear(); //删除所有元素
(5)insert()
insert(it,x)用于在指定位置插入一个元素x;
vector<int> v = {1,3,6};
v.insert(v.begin() + 1,55); //将55插入到v[1]的位置
(6)erase()
erase()用于删除元素
(1)删除单个元素
erase(it);//删除迭代器it除的元素
vector<int> v = {1,5,78};
v.erase(v.begin() + 2); //删除v[2],即删除78;
(2)删除一个区间内的元素
erase(begin()+ 1,begin()+3);//删除v[1]、v[2]、v[3];
vector<int> v = {1,4,67,33,6};
v.erase(v.begin() + 1,v.begin + 3); //删除v[1],v[2],v[3];
(7)resize()
(1) 改变容器大小
将容器为n的大小由5改为4,末尾元素被删除
vector<int> n(5);
n.resize(4);
(2)改变容器大小,并改变元素的值
vector<int> n(5); //元素默认值为0
n.resize(4,2); //容器大小改为4,将元素赋值为2