C++ vector基础教程:插入与遍历

需积分: 9 25 下载量 166 浏览量 更新于2025-01-05 收藏 5KB TXT 举报
"C++ vector 的简单用法及二维数组操作示例" 在 C++ 中,`std::vector` 是一个非常重要的容器,它允许我们动态地存储和管理元素序列。`vector` 类似于传统的数组,但具有动态扩展的能力,这使得它在处理不确定大小的数据集时特别有用。以下是对 `vector` 的简单用法和二维数组操作的讲解。 1. **基本使用** - `vector` 的创建:`vector<int> v;` 创建一个空的整数型 `vector`。 - 插入元素:`v.push_back(i);` 向 `vector` 尾部添加元素,这里将整数 `i` 添加到 `v` 中。 - 遍历元素:可以使用 `for` 循环和索引来遍历 `vector`,如 `for (int i = 0; i < v.size(); i++)`,或者使用迭代器 `vector<int>::iterator iter; for (iter = v.begin(); iter != v.end(); iter++)`。 - 访问元素:`v[i]` 可以访问 `vector` 中的第 `i` 个元素,`v.size()` 返回 `vector` 中的元素数量。 2. **二维 `vector` 的创建与操作** - 初始化:`vector<vector<int>> Array(10, vector<int>(0));` 创建一个大小为 10 的二维 `vector`,每个子 `vector` 初始为空。 - 填充数据:使用嵌套循环将数据填充到二维 `vector` 中,如 `Array[j].push_back(i);`。 - 遍历二维 `vector`:外层循环遍历行,内层循环遍历列,打印数据。 3. **多维 `vector` 的动态分配** - 动态分配:在不知道子 `vector` 大小的情况下,可以先分配行,然后在每一行中逐个插入元素,例如 `Array.push_back(line);` 先添加一行空的 `vector`,然后再向这一行中添加元素。 - 动态扩展:如果需要在运行时动态扩展 `vector` 的大小,可以使用 `resize()` 函数,如 `Array[j].resize(new_size);`。 4. **注意事项** - 在使用 `vector` 时,确保不进行越界访问,即检查索引是否小于 `vector` 的大小。 - 当 `vector` 容量不足时,`push_back()` 会自动扩容,可能导致性能开销。可以通过预分配容量来减少这种开销,如 `v.reserve(n)`。 - 使用迭代器时要注意,当 `vector` 的大小发生变化(如插入或删除元素)时,迭代器可能失效。 掌握 `vector` 的基本操作是 C++ 编程中的一项重要技能,它在实际编程中有着广泛的应用,比如数据存储、动态数组、函数返回值等。对于初学者来说,理解并熟练运用 `vector` 可以提高代码的灵活性和效率。