std::vector
是 C++ 标准库中一个非常常用的动态数组容器类。它提供了许多函数来操作和管理动态数组。以下是一些常用的 std::vector
函数:
1. 构造函数
vector()
:创建一个空的vector
。vector(size_type n, const T& value = T())
:创建一个包含n
个元素且初值为value
的vector
。
2. 容量相关函数
size()
:返回当前元素的数量。capacity()
:返回在重新分配内存之前可以存储的元素数。empty()
:判断vector
是否为空。resize(size_type n)
:调整vector
的大小为n
。reserve(size_type n)
:请求分配能容纳至少n
个元素的内存。
3. 访问元素
operator[]
:访问指定位置的元素,不进行边界检查。at(size_type pos)
:访问指定位置的元素,进行边界检查。front()
:返回第一个元素。back()
:返回最后一个元素。data()
:返回指向内存数组第一个元素的指针。
4. 修改容器
push_back(const T& value)
:在vector
末尾添加一个元素。- vector<int>{num1, num2}:直接赋值多个元素
pop_back()
:移除vector
末尾的元素。insert(iterator pos, const T& value)
:在指定位置插入一个元素。erase(iterator pos)
:移除指定位置的元素。clear()
:清除所有元素,容器变为空。swap(vector& other)
:交换两个vector
的内容。
5. 迭代器
begin()
:返回指向vector
第一个元素的迭代器。end()
:返回指向vector
尾后位置(最后一个元素的下一个位置)的迭代器。rbegin()
:返回指向vector
最后一个元素的反向迭代器。rend()
:返回指向vector
第一个元素前的反向迭代器。
6.其他
- accumulate(begin(), end(), 0)求和
- max_element(begin(), end())获取最大值的指针,要获得值需要在前面加*号
- min_element(begin(), end())
- sort(begin(), end()) 递增
- sort(begin(), end(), greater())递减