深入了解C++中vector的用法

本文目录导读:1、 vector简介2、 vector声明3、 vector元素的访问4、 向vector添加元素5、 删除vector中的元素6、 vector大小和容量7、 vector的遍历8、 总结在C++编程语言中,vector是一个非常重要的容器类型。它是一个动态数组,可以自动调整大小,并且允许快速随机访问元素。本文将深入……

在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的用法

}

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++编程者来说至关重要。