深入了解C++中vector的用法
本文目录导读:1、 vector简介2、 vector声明3、 vector元素的访问4、 向vector添加元素5、 删除vector中的元素6、 vector大小和容量7、 vector的遍历8、 总结在C++编程语言中,vector是一个非常重要的容器类型。它是一个动态数组,可以自动调整大小,并且允许快速随机访问元素。本文将深入……
- 本文目录导读:
- 1、 vector简介
- 2、 vector声明
- 3、 vector元素的访问
- 4、 向vector添加元素
- 5、 删除vector中的元素
- 6、 vector大小和容量
- 7、 vector的遍历
- 8、 总结
在C++编程语言中,vector是一个非常重要的容器类型。它是一个动态数组,可以自动调整大小,并且允许快速随机访问元素。本文将深入探讨C++中vector的使用方法。
1. vector简介
vector是标准模板库(STL)提供的一种容器类型。它可以存储任何类型的元素,包括基本数据类型和自定义对象等。与数组相比,vector具有以下优点:
1. 可以自动调整大小:当需要添加或删除元素时,vector会根据需要扩展或缩小内部数组。
2. 支持快速随机访问:与链表等其他容器不同,可以通过下标操作符[]来直接访问特定位置上的元素。
3. 方便插入和删除操作:由于支持在任意位置上插入和删除元素,并且会自动调整其余元素位置以保证连续性。
2. vector声明
在使用vector之前必须先声明它:
“`c++
#include
#include
using namespace std;
int main() {
vector v; // 声明一个空向量
return 0;
}
“`
这里我们声明了一个空向量v,在后面代码中我们将演示如何往里面添加元素。
3. vector元素的访问
vector支持下标操作符[]来访问特定位置上的元素,这与数组非常类似。同时,vector还提供了at()方法和front()和back()方法来访问第一个和最后一个元素。
vector v = {1, 2, 3, 4, 5};
cout << "v[0] = " << v[0] << endl; // 输出v[0] = 1
cout << "v.at(2) = " << v.at(2) << endl; // 输出v.at(2) = 3
cout << "v.front() = " << v.front() << endl; // 输出v.front() = 1
cout << "v.back() = " << v.back() << endl; // 输出v.back() = 5
4. 向vector添加元素
向向量中添加新元素有两种基本方法:push_back和insert。push_back用于在尾部添加一个新元素,而insert可以在任意位置上插入新的元素。
int main () {
vector v;
for(int i=1;i<=5;++i){
v.push_back(i);
![深入了解C++中vector的用法缩略图 深入了解C++中vector的用法](https://www.72715.net/wp-content/uploads/2023/05/afff0e1a94636b0106a8254bbf0d25e6.png)
}
vector::iterator it;
it=v.begin()+2;//指向第三个位置
v.insert(it,9);//插入9到第三个位置
//此时v中的元素为 1 2 9 3 4 5
return 0;
5. 删除vector中的元素
删除向量中的元素同样有两种基本方法:pop_back和erase。pop_back用于删除最后一个元素,而erase可以在任意位置上删除一个或多个元素。
vector v = {1,2,3,4,5};
v.pop_back();// 删除最后一个元素
//此时v中的元素为{1,2,3,4}
it=v.begin()+1;//指向第二个位置
v.erase(it);// 删除第二个位置上的值
//此时v中的元素为{1,3,4}
6. vector大小和容量
vector提供了size()方法来获取当前向量包含的实际元素数量。另外,capacity()方法则返回当前向量内部数组分配空间大小。在添加新元素时,如果超出了当前容量,则会自动分配更大空间。
vector v = {1,2};
cout << "size: " << v.size() << endl; // 输出 size: 2
cout << "capacity: " << v.capacity() << endl; // 输出 capacity: 2
for(int i=1;i<=3;++i){
v.push_back(i);
}
cout << "size: " << v.size() << endl; // 输出 size: 5
cout << "capacity: " << v.capacity() << endl; // 输出 capacity: 6
7. vector的遍历
vector可以像数组一样使用下标访问元素,也可以使用迭代器进行遍历。
for(auto it=v.begin();it!=v.end();++it){
cout<<*it<<" ";
//输出 1 2 3 4 5
8. 总结
本文介绍了C++中vector的基本用法,包括声明、元素的访问、向向量中添加和删除元素、获取大小和容量以及遍历等方面。在实际应用中,vector是一个非常重要的容器类型,掌握其使用方法对于C++编程者来说至关重要。