文章目录
一、 vector 容器容量大小操作
1、vector 容器容量判定
vector 容器容量判定 :
- 获取元素个数 : size() 函数返回 vector 容器中元素的数量 , 类型为 size_type , 是无符号整数类型 ; noexcept 说明符表示该函数不会抛出异常 ; 函数原型 和 示例代码 如下 :
// 函数原型
size_type size() const noexcept;
// 代码示例
std::vector<int> vec = {
1, 2, 3, 4, 5};
// vec.size() = 5
std::cout << "vec.size() = " << vec.size() << std::endl;
- 判断是否为空 : empty() 函数返回一个布尔值 , 表示 vector 容器是否为空 ; 如果容器中没有元素 , 则返回 true , 否则返回 false ; noexcept 说明符表示该函数不会抛出异常 ;
// 函数原型
bool empty() const noexcept;
// 代码示例
std::vector<int> vec;
if (vec.empty()) {
std::cout << "vec empty" << std::endl;
}
2、vector 容器重新指定容器大小
重新指定长度 : 参数 n 表示新的容器大小 ;
- 如果 n 大于当前容器的大小 , 则会在容器的末尾添加元素 , 使用元素类型的默认构造函数创建新元素 ;
- 如果 n 小于当前容器的大小 , 则会在容器的开头删除元素 ;
// 重新指定容器大小
void resize(size_type n) noexcept;
代码示例 :
// 创建一个包含 3 个元素的 vector
std::vector<int> vec = {
1, 2, 3};
// 将 vector 的大小增加到 5
vec.resize(5);
重新指定长度并进行填充 : 参数 n 表示新的容器大小 ;
- 如果 n 大于当前容器的大小 , 则会在容器的末尾添加元素指定元素 val 参数 ;
- 如果 n 小于当前容器的大小 , 则会在容器的开头删除元素 ;
// 重新指定容器大小 并进行填充
void resize(size_type n, const value_type& val) noexcept;
代码示例 :
// 创建一个包含 3 个元素的 vector
std::vector<int> vec = {
1, 2, 3};
// 将 vector 的大小增加到 5 , 并使用 6 填充剩余元素
vec.resize(5, 6);
上述两个函数都不会改变元素的顺序 ;
3、代码示例
代码示例 :
#include "iostream"
using namespace std;
#include "vector"
int main() {
std::vector<int> vec = {
1, 2, 3 };
// 1. 获取元素个数
// vec.size() = 5
std::cout << "vec.size() = " << vec.size() << std::endl;
// 2. 判断容器是否为空
if ( !vec.empty() ) {
std::cout << "vec empty" << std::endl;
}
// 3. 将 vector 的大小增加到 5
vec.resize(5);
// 4. 将 vector 的大小增加到 8 , 并使用 6 填充剩余元素
vec.resize(8, 6);
// 控制台暂停 , 按任意键继续向后执行
system("pause");
return 0;
};
执行结果 :
vec.size() = 3
vec empty
Press any key to continue . . .
二、 vector 容器尾部插入 / 删除元素
1、vector 容器尾部插入元素
vector 容器尾部插入元素 , 可以调用 push_back 函数实现 , 该函数原型如下 :
void push_back(const value_type& val);
接受一个常量引用 val , 将 val 添加到 vector 容器的末尾 ;
代码示例 :
#include "iostream"
using namespace std;
#include "vector"
int main() {
// 创建空的 vector 容器
std::vector<int> vec;
// 向容器尾部添加元素
vec.push_back(1);
vec.push_back(2);
vec.push_back(3);
// 输出 vector 的内容
for (int x : vec) {
std::cout << x << ' ';
}
std::cout << std::endl;
// 控制台暂停 , 按任意键继续向后执行
system("pause");
return 0;
};
执行结果 :
1 2 3
Press any key to continue . . .
2、vector 容器尾部删除元素
vector 容器尾部删除元素 , 可以调用 vector 类的 pop_back 成员函数实现 , 该函数用于删除 vector 容器中的最后一个元素 , 函数原型如下 :
void pop_back();
代码示例 :
#include "iostream"
using namespace std;
#include "vector"
int main() {
// 创建空的 vector 容器
std::vector<int> vec{
1, 2, 3};
// 移除容器尾部一个元素
vec.pop_back();
// 输出 vector 的内容
for (int x : vec) {
std::cout << x << ' ';
}
std::cout << std::endl;
// 控制台暂停 , 按任意键继续向后执行
system("pause");
return 0;
};
执行结果 :