C++ vector是一个动态数组,它支持STL的很多操作。动态意味着可以在运行时添加/删除元素,而不需要事先指定数组的大小。在这篇文章中,我们将全面介绍C++ vector的用法,包括如何声明和初始化各种类型的vector,如何添加/删除元素以及如何使用算法。
1. 声明和初始化vector
与普通数组一样,vector也有定义和初始化的方式。它们列举如下:
```C++
// 声明一个空vector
std::vector // 声明一个具有10个元素的vector,所有元素都初始化为0 std::vector // 声明一个具有5个元素的vector,所有元素都初始化为5 std::vector // 声明一个具有3个元素的vector,元素值为1,2,3 std::vector // 声明一个具有10个元素的vector,所有元素都初始化为0 std::vector // 声明一个具有5个元素的vector,所有元素初始化为0但是类型为双精度数 std::vector ``` 此外,您还可以从现有数组或其他向量初始化vector,以及使用迭代器和复制算法从容器中的某个位置复制元素。 ```C++ int arr[] = {1, 2, 3, 4, 5}; // 从现有数组初始化vector std::vector // 从现有vector复制元素来初始化另一个vector std::vector // 使用std::copy算法从容器复制元素到vector std::vector std::array std::copy(my_arr.begin(), my_arr.end(), my_vec.begin()); ``` 2. 访问元素 使用vector时,您可以使用下标运算符或迭代器访问元素。 ```C++ std::vector // 使用下标运算符访问元素 int first_element = my_vec[0]; // 使用at方法访问元素 int second_element = my_vec.at(1); // 使用迭代器访问元素 auto it = my_vec.begin(); int third_element = *it; ``` 3. 添加/删除元素 动态数组的最大好处之一是可以添加/删除元素,而不需要重新分配数组。vector提供了很多方法来实现这一点。 ```C++ std::vector // 使用push_back添加元素到vector的末尾 my_vec.push_back(4); // 使用insert方法在vector的特定位置插入元素 my_vec.insert(my_vec.begin() + 1, 5); // 使用erase方法删除vector中的特定元素 my_vec.erase(my_vec.begin() + 2); // 使用clear方法删除vector的所有元素 my_vec.clear(); ``` 请注意,当您删除元素时,vector会自动调整其大小。 4. vector的算法 vector是STL的一部分,因此您可以使用各种STL算法来处理它们。一些常见的算法包括: ```C++ // 查找vector中的最小元素 auto min_element = std::min_element(my_vec.begin(), my_vec.end()); // 查找vector中的最大元素 auto max_element = std::max_element(my_vec.begin(), my_vec.end()); // 对vector进行排序 std::sort(my_vec.begin(), my_vec.end()); // 对vector中的元素进行操作,以创建新vector std::vector std::transform(my_vec.begin(), my_vec.end(), result_vec.begin(), [](int x){ return x * 2;}); ``` 至此,我们详细介绍了C++ vector的用法,包括声明和初始化,访问元素,添加/删除元素以及使用算法处理元素。vector是C++编程中的一项重要技术,希望这篇文章可以帮助您更好地理解它。 如果你喜欢我们三七知识分享网站的文章,
欢迎您分享或收藏知识分享网站文章
欢迎您到我们的网站逛逛喔!https://www.37seo.cn/
发表评论 取消回复