添加元素
本课属于 Coddy C++ 学习旅程的“逻辑与流程”单元。第 11 课,共 56 课。
现在你已经知道如何创建向量,接下来我们来学习如何在创建向量后向其中添加元素。push_back() 方法是扩展向量的主要工具,可以在向量末尾添加新元素。
push_back() 方法接受一个参数,也就是你想添加的值,并将它追加到 vector 的末尾:
std::vector<int> numbers;
numbers.push_back(10);
numbers.push_back(20);
numbers.push_back(30);在这个示例中,我们从一个空向量开始,并使用 push_back() 添加三个整数。执行这些操作后,我们的向量按顺序包含元素 [10, 20, 30]。
push_back() 的优点是,它会自动处理所有内存管理。当你添加元素而向量空间不足时,它会自动分配更多内存,并将现有元素复制到新位置。这样一来,即使你事先不知道最终大小,使用向量构建数据集合也会非常方便。
挑战
简单编写一个程序,演示如何使用 push_back() 方法向 vector 添加元素。你将从一个空 vector 开始,按特定顺序添加数字,动态构建这个 vector。
将提供以下输入:
- 一个整数
n,表示要添加到 vector 中的数字个数 - 接着是
n个整数,这些整数应逐个添加到 vector 中
你的程序应当:
- 创建一个名为
numbers的空std::vector<int> - 使用循环读取
n个输入数字中的每一个 - 对每个数字,使用
push_back()将它添加到 vector 末尾 - 每添加一个数字后,输出 vector 当前的大小以及刚添加的数字
- 最后,在同一行输出 vector 中的所有元素,并用空格分隔
使用以下精确的输出格式:
Added [number], size is now [current size]
Added [number], size is now [current size]
...
Final vector: [num1] [num2] [num3] ...每次添加元素后,使用 .size() 方法获取 vector 中当前的元素个数。输出最终结果时,使用方括号 [] 运算符按索引访问每个元素。
亲手试试
#include <iostream>
#include <vector>
using namespace std;
int main() {
// 读取要添加的元素数量
int n;
cin >> n;
// 创建一个空 vector
vector<int> numbers;
// TODO: 在这里编写你的代码
// 读取 n 个数字,并使用 push_back() 将它们添加到 vector 中
// 每次添加后打印要求的输出
// 打印最终的 vector
cout << "Final vector: ";
// TODO: 打印所有元素,元素之间用空格分隔
return 0;
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: C++ 在线编译器