【C++从0到王者】第十二站:vector基本使用
发布人:shili8
发布时间:2025-03-14 02:47
阅读次数:0
**【C++从0到王者】第十二站:vector基本使用**
在 C++ 中,`vector` 是一个非常强大的容器类,它可以动态地分配内存来存储元素。它的大小可以根据需要进行调整,从而避免了传统数组的静态大小限制。在本篇文章中,我们将详细介绍 `vector` 的基本使用。
###1. vector 的定义和初始化首先,让我们看一下如何定义一个 `vector`:
cpp#include <vector> int main() { // 定义一个空vector std::vector<int> vec; return0; }
上面的代码中,我们定义了一个名为 `vec` 的空 `vector`,它可以存储整型数字。
###2. vector 的基本操作下面是 `vector` 的一些基本操作:
####1) push_back()
`push_back()` 是向 `vector` 尾部添加新元素的方法。例如:
cpp#include <vector> int main() { std::vector<int> vec; // 向vec中添加元素 vec.push_back(10); vec.push_back(20); vec.push_back(30); return0; }
在上面的例子中,我们向 `vec` 中添加了三个整型数字:10、20 和30。
####2) size()
`size()` 方法返回 `vector` 中元素的数量。例如:
cpp#include <vector> int main() { std::vector<int> vec; // 向vec中添加元素 vec.push_back(10); vec.push_back(20); vec.push_back(30); // 获取vec中的元素数量 int size = vec.size(); return0; }
在上面的例子中,我们向 `vec` 中添加了三个整型数字,然后使用 `size()` 方法获取 `vec` 中的元素数量。
####3) at()
`at()` 方法返回指定索引位置的元素。例如:
cpp#include <vector> int main() { std::vector<int> vec; // 向vec中添加元素 vec.push_back(10); vec.push_back(20); vec.push_back(30); // 获取vec中的第一个元素 int first = vec.at(0); return0; }
在上面的例子中,我们向 `vec` 中添加了三个整型数字,然后使用 `at()` 方法获取 `vec` 中的第一个元素。
####4) clear()
`clear()` 方法清空 `vector` 中的所有元素。例如:
cpp#include <vector> int main() { std::vector<int> vec; // 向vec中添加元素 vec.push_back(10); vec.push_back(20); vec.push_back(30); // 清空vec中的元素 vec.clear(); return0; }
在上面的例子中,我们向 `vec` 中添加了三个整型数字,然后使用 `clear()` 方法清空 `vec` 中的所有元素。
###3. vector 的迭代器`vector` 提供了多种类型的迭代器,包括:
####1) begin()
`begin()` 方法返回指向 `vector` 首元素的迭代器。例如:
cpp#include <vector> int main() { std::vector<int> vec; // 向vec中添加元素 vec.push_back(10); vec.push_back(20); vec.push_back(30); // 获取vec中的首元素 auto it = vec.begin(); return0; }
在上面的例子中,我们向 `vec` 中添加了三个整型数字,然后使用 `begin()` 方法获取 `vec` 中的首元素。
####2) end()
`end()` 方法返回指向 `vector` 尾元素后一个位置的迭代器。例如:
cpp#include <vector> int main() { std::vector<int> vec; // 向vec中添加元素 vec.push_back(10); vec.push_back(20); vec.push_back(30); // 获取vec中的尾元素 auto it = vec.end(); return0; }
在上面的例子中,我们向 `vec` 中添加了三个整型数字,然后使用 `end()` 方法获取 `vec` 中的尾元素。
###4. vector 的常用算法`vector` 提供了多种常用的算法,包括:
####1) sort()
`sort()` 方法对 `vector` 中的元素进行排序。例如:
cpp#include <vector> #include <algorithm> int main() { std::vector<int> vec; // 向vec中添加元素 vec.push_back(10); vec.push_back(20); vec.push_back(30); // 对vec中的元素进行排序 std::sort(vec.begin(), vec.end()); return0; }
在上面的例子中,我们向 `vec` 中添加了三个整型数字,然后使用 `sort()` 方法对 `vec` 中的元素进行排序。
####2) reverse()
`reverse()` 方法对 `vector` 中的元素进行反转。例如:
cpp#include <vector> #include <algorithm> int main() { std::vector<int> vec; // 向vec中添加元素 vec.push_back(10); vec.push_back(20); vec.push_back(30); // 对vec中的元素进行反转 std::reverse(vec.begin(), vec.end()); return0; }
在上面的例子中,我们向 `vec` 中添加了三个整型数字,然后使用 `reverse()` 方法对 `vec` 中的元素进行反转。
### 总结本篇文章介绍了 `vector` 的基本使用,包括定义和初始化、基本操作、迭代器和常用算法。通过阅读本篇文章,读者可以了解如何使用 `vector` 来存储和处理数据。