📜  c++ 中的向量(1)

📅  最后修改于: 2023-12-03 14:39:54.604000             🧑  作者: Mango

C++ 中的向量

在 C++ 中,向量是一个非常有用的数据结构,可以用来存储一系列的元素,并支持各种操作,如添加、删除、访问、排序等。这篇文章将介绍 C++ 中的向量,包括定义、创建、添加、删除、访问、排序等操作。

1. 定义和创建向量

定义和创建向量非常简单,可以使用标准库 中的 vector 类模板。

#include <vector>
using namespace std;

vector<int> v;           // 定义一个空向量
vector<int> v1(10);      // 定义一个具有 10 个元素的向量,每个元素的值为 0
vector<int> v2(10, 2);   // 定义一个具有 10 个元素的向量,每个元素的值为 2
vector<int> v3 = {1, 2, 3}; // 定义一个具有 3 个元素的向量,元素的值分别为 1、2 和 3

其中 表示向量中元素的类型,可以是任何基本类型或自定义的类型。

2. 添加和删除元素

添加元素可以使用 push_back() 函数,删除元素可以使用 erase() 函数。

vector<int> v = {1, 2, 3};

// 添加一个元素
v.push_back(4);

// 删除第一个元素
v.erase(v.begin());

// 删除最后一个元素
v.pop_back();

// 删除所有元素
v.clear();
3. 访问元素

访问元素可以通过下标来访问,也可以使用迭代器来访问。

vector<int> v = {1, 2, 3};

// 使用下标访问
int a = v[0];
int b = v.at(1);      // 检查越界

// 使用迭代器访问
for (auto it = v.begin(); it != v.end(); ++it) {
    cout << *it << " ";
}
4. 排序

使用 sort() 函数可以对向量中的元素进行排序。

vector<int> v = {3, 1, 4, 2};

// 升序排序
sort(v.begin(), v.end());

// 降序排序
sort(v.begin(), v.end(), greater<int>());
5. 其他常用操作

向量还支持一些其他常用操作,如获取向量的大小、判断是否为空、交换两个向量等。

vector<int> v = {1, 2, 3};

// 获取向量的大小
int size = v.size();

// 判断向量是否为空
bool empty = v.empty();

// 交换两个向量
vector<int> v1 = {4, 5, 6};
v.swap(v1);

以上就是 C++ 中向量的介绍,希望对你有帮助!