下面是关于c++ vector的使用攻略总结:
c++ vector如何使用
什么是c++ vector
在c++中,vector是STL中提供的一种动态数组容器。vector可以在运行时自由增加或减少其元素数量,具有以下特点:
-
支持随机访问
-
内存位置连续
-
支持快速插入和删除元素
-
支持在尾部添加元素
vector的基本操作
声明和初始化
声明vector需要使用向量模板类,使用时需要包含
#include <vector>
using namespace std;
vector<int> v; //声明一个int类型的vector v
vector<int> v1(5); //声明一个初始大小为5的int类型的vector v1
vector<int> v2(5, 0); //声明一个初始大小为5且初始值均为0的int类型的vector v2
vector<int> v3{1, 2, 3, 4, 5}; //用初始列表初始化声明一个int类型的vector v3
vector<int> v4(v3); //声明一个和v3一样的int类型的vector v4
增加元素
使用push_back()函数可以在vector的尾部添加元素。以下是增加元素的示例:
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
删除元素
使用erase()函数可以在vector中删除一个元素或者一段元素。以下是删除元素的示例:
vector<int> v{1, 2, 3, 4, 5};
v.erase(v.begin() + 2); //删除第3个元素,即3
v.erase(v.begin() + 1, v.end() - 1); //删除第2到第4个元素,即2、4
修改元素
vector支持随机访问,可以使用下标运算符或at()函数访问指定位置的元素。以下是修改元素的示例:
vector<int> v{1, 2, 3, 4, 5};
v[2] = 10; //将第3个元素修改为10
v.at(4) = 20; //将第5个元素修改为20
访问元素
vector支持随机访问,可以使用下标运算符或at()函数访问指定位置的元素。以下是访问元素的示例:
vector<int> v{1, 2, 3, 4, 5};
int a = v[2]; //访问第3个元素,即3
int b = v.at(4); //访问第5个元素,即5
vector的高级用法
迭代器
迭代器是STL中的一种通用访问方式,vector也可以使用迭代器访问其中的元素。以下是使用迭代器访问vector中元素的示例:
vector<int> v{1, 2, 3, 4, 5};
for (vector<int>::iterator it = v.begin(); it != v.end(); it++) {
cout << *it << endl; //输出vector中的元素
}
操作符重载
尽管vector是一个模板类,但是它同样可以支持操作符重载。以下是实现vector加法操作的示例:
vector<int> operator +(const vector<int>& v1, const vector<int>& v2) {
vector<int> res;
int n = v1.size();
for (int i = 0; i < n; i++) {
res.push_back(v1[i] + v2[i]);
}
return res;
}
int main() {
vector<int> v1{1, 2, 3};
vector<int> v2{4, 5, 6};
vector<int> v3 = v1 + v2;
for (int i = 0; i < v3.size(); i++) {
cout << v3[i] << " "; //输出7 9 11
}
return 0;
}
以上是关于c++ vector的使用攻略总结,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c++ vector如何使用 c++ vector方法攻略教程总结 - Python技术站