C++中的vector
是一个动态数组,它提供了一种灵活的方式来存储和操作元素集合。vector
是C++标准模板库(STL)的一部分,它允许你添加、删除、排序和搜索元素。以下是一些基本的vector
操作:
-
声明和初始化:
std::vector<int> vec; std::vector<int> vec(10); // 初始化一个有10个元素的vector,元素值未指定 std::vector<int> vec(10, 1); // 初始化一个有10个元素的vector,每个元素都是1 std::vector<int> vec = {1, 2, 3}; // 初始化一个包含3个元素的vector
-
访问元素:
int val = vec[0]; // 获取第一个元素的值 vec[1] = 5; // 设置第二个元素的值为5
-
添加元素:
vec.push_back(4); // 在vector的末尾添加一个元素 vec.insert(vec.begin() + 2, 6); // 在索引2的位置插入一个元素
-
删除元素:
vec.pop_back(); // 删除vector的最后一个元素 vec.erase(vec.begin() + 1); // 删除索引为1的元素
-
大小和容量:
size_t size = vec.size(); // 获取vector中元素的数量 size_t capacity = vec.capacity(); // 获取vector分配的内存大小
-
清空vector:
vec.clear(); // 移除vector中的所有元素
-
遍历vector:
for (int i : vec) {std::cout << i << " "; }
-
查找元素:
auto it = std::find(vec.begin(), vec.end(), 4); // 查找值为4的元素 if (it != vec.end()) {std::cout << "Found 4 at position: " << it - vec.begin() << std::endl; }
-
排序:
std::sort(vec.begin(), vec.end()); // 从小到大排序
-
修改容量:
vec.resize(15); // 将vector的大小调整为15,如果当前元素少于15个,则用默认值填充
-
使用
emplace_back
:vec.emplace_back(7); // 在vector末尾添加一个值为7的元素,相比push_back,emplace_back更高效,因为它直接在vector内部构建对象
-
使用
back
和front
:int lastElement = vec.back(); // 获取vector的最后一个元素 vec.front() = 10; // 设置vector的第一个元素的值为10
vector
是一个功能强大的容器,它在C++程序中被广泛使用。了解这些基本操作可以帮助你更好地利用vector
的功能。