📅  最后修改于: 2023-12-03 15:07:37.721000             🧑  作者: Mango
向量(vector)是C++标准模板库(STL)中的一种容器,可以用于存储同一种类型的元素。与数组不同,向量的大小可以动态改变,能够自动地调整内存使用情况。
在使用向量之前,我们需要引入头文件 vector
。
#include <vector>
定义向量的语法如下:
vector<数据类型> 名称;
例如,定义一个存储整数的向量,可以这样写:
vector<int> myVec;
向向量中添加元素的方法有两种:push_back()
和insert()
。
使用 push_back()
向向量末尾添加元素:
vector<int> myVec;
myVec.push_back(1);
myVec.push_back(2);
myVec.push_back(3);
使用 insert()
向向量中插入元素:
vector<int> myVec;
myVec.insert(myVec.begin(), 1); // 插入到开头
myVec.insert(myVec.end(), 2); // 插入到末尾
myVec.insert(myVec.begin() + 2, 3); // 插入到第三个元素的位置
向量中的元素可以使用 []
运算符或 at()
函数来访问:
vector<int> myVec = {1, 2, 3, 4, 5};
cout << myVec[0] << endl; // 输出第一个元素(1)
cout << myVec.at(2) << endl; // 输出第三个元素(3)
向量可以使用迭代器来遍历:
vector<int> myVec = {1, 2, 3, 4, 5};
for (auto it = myVec.begin(); it != myVec.end(); ++it) {
cout << *it << endl;
}
使用 range-based for 循环遍历:
vector<int> myVec = {1, 2, 3, 4, 5};
for (auto i : myVec) {
cout << i << endl;
}
添加元素的函数:push_back()
, insert()
删除元素的函数:pop_back()
, erase()
获取元素个数:size()
判断是否为空:empty()
获取头部和尾部元素:front()
, back()
清空向量:clear()
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> myVec = {1, 2, 3, 4, 5};
// 添加元素
myVec.push_back(6);
myVec.insert(myVec.begin(), 0);
// 访问元素
cout << myVec[0] << endl; // 输出 0
cout << myVec.at(2) << endl; // 输出 2
// 遍历向量
for (auto i : myVec) {
cout << i << endl; // 依次输出 0, 1, 2, ..., 6
}
// 其他常用函数
myVec.pop_back();
myVec.erase(myVec.begin() + 2);
cout << myVec.size() << endl; // 输出 5
cout << myVec.empty() << endl; // 输出 0(不为空)
cout << myVec.front() << endl; // 输出 0
cout << myVec.back() << endl; // 输出 5
myVec.clear();
cout << myVec.size() << endl; // 输出 0
return 0;
}