C++向量vector基础入门与常用操作详解

需积分: 15 1 下载量 20 浏览量 更新于2024-08-04 收藏 2KB MD 举报
"本篇文章主要介绍了C++中的向量(vector)基本用法,针对初学者设计,详细讲解了向量的初始化、访问头尾、遍历、长度获取、元素的添加、删除以及移位操作。以下是具体知识点详解:\n\n1. **初始化**: - 创建空向量:`vector<int> v;` 用于存储整型数据。 - 初始化指定元素个数:`vector<float> v1(3);` 存储浮点数,此处为3个元素。 - 初始化固定类型并指定元素:`vector<char> v2(3, 'a');` 存储字符,每个元素为'a'。 - 复制初始化:`vector<char> v3(v2);` 复制已有向量v2的内容。 - 一维和二维数组初始化:`vector<int> c1{1, 2, 3};` 和 `vector<vector<int>> c2{{1, 2, 3}, {4, 5, 6}};` 分别是单维和二维向量。 2. **访问与遍历**: - 使用内置的迭代器:`v.begin()` 和 `v.end()` 获取向量的起始和结束迭代器。 - 遍历向量:`for (auto i : v)` 或 `for (i = v.begin(); i < v.end(); i++)` 逐一访问元素。 - 使用迭代器遍历并输出:通过`vector<int>::iterator vec = v.begin();`,逐个打印元素值。 3. **长度操作**: - 获取向量长度:`v.size()`,在遍历或处理元素时,常用此函数确定循环次数。 4. **元素操作**: - 添加元素:`v.push_back(1);` 在向量尾部添加元素,`v2.insert(v2.begin() + i, x);` 在指定位置插入元素。 - 删除元素:`v.pop_back()` 删除尾部元素,`v.erase(v.begin() + i)` 删除指定位置元素,`v.erase(v.begin() + i, v.begin() + j)` 删除子区间元素,`v.clear();` 清空整个向量。 5. **移位操作**: - 对向量进行排序:`sort(v.begin(), v.end());` 将向量元素升序排列。 这些基础操作是理解和使用C++向量的重要步骤,初学者可以通过实践这些方法来掌握向量的动态存储和管理。熟练运用这些技巧可以有效地组织和操作数据,提升程序的效率。在实际编程中,根据具体需求灵活运用向量,能让你更好地实现各种算法和数据结构。希望对你学习C++有所帮助!"