关于vector的常见用法详解
简介
C++ STL提供了许多数据结构,其中vector是其中一个常用的容器。vector是一个动态可变数组,其大小可以在运行时改变。其背后实现的机制是使用数组来实现,同时使用一个整数来记录当前的容器大小。
常见用法
创建vector
我们可以使用以下方式来创建一个vector容器:
#include <vector>
using namespace std;
vector<int> v; // 创建一个空的整型vector
vector<string> str_vec(10); // 创建一个10个元素的字符串vector,每个元素都是空字符串
vector<char> char_vec(5, 'a'); // 创建一个5个元素的字符vector,每个元素都是'a'
访问vector元素
vector是一个类似于数组的数据结构,我们可以使用索引来访问其中的元素。同时,我们也可以使用迭代器来遍历vector中的元素。下面是两种访问元素的方式:
#include <vector>
#include <iostream>
using namespace std;
int main() {
vector<int> v {1, 2, 3, 4, 5};
// 通过索引访问元素
cout << v[0] << endl; // 输出1
cout << v.at(2) << endl; // 输出3
// 使用迭代器访问元素
for (auto it = v.begin(); it != v.end(); it++) {
cout << *it << " ";
}
cout << endl; // 输出1 2 3 4 5
return 0;
}
向vector中添加或删除元素
vector提供了多个函数来操作其中的元素。下面是两个比较常用的函数:
#include <vector>
#include <iostream>
using namespace std;
int main() {
vector<int> v {1, 2, 3};
// 添加元素
v.push_back(4); // 在vector的末尾添加4
v.insert(v.begin() + 1, 5); // 在下标为1的位置添加5
// 删除元素
v.pop_back(); // 删除vector的末尾元素
v.erase(v.begin() + 1); // 删除下标为1的元素
// 输出vector中的元素
for (auto it = v.begin(); it != v.end(); it++) {
cout << *it << " ";
}
cout << endl; // 输出1 3 4
return 0;
}
示例说明
示例1
下面是一个vector的示例,演示了如何创建、访问、添加和删除元素:
#include <vector>
#include <iostream>
using namespace std;
int main() {
// 创建vector
vector<int> v {1, 2, 3};
// 访问元素
cout << v[0] << endl; // 输出1
cout << v.at(1) << endl; // 输出2
// 添加元素
v.push_back(4); // 在vector的末尾添加4
v.insert(v.begin() + 1, 5); // 在下标为1的位置添加5
// 删除元素
v.pop_back(); // 删除vector的末尾元素
v.erase(v.begin() + 1); // 删除下标为1的元素
// 输出vector中的元素
for (auto it = v.begin(); it != v.end(); it++) {
cout << *it << " ";
}
cout << endl; // 输出1 3
return 0;
}
示例2
下面是一个使用vector进行排序的示例:
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
int main() {
// 创建vector
vector<int> v {5, 3, 2, 4, 1};
// 排序
sort(v.begin(), v.end());
// 输出vector中的元素
for (auto it = v.begin(); it != v.end(); it++) {
cout << *it << " ";
}
cout << endl; // 输出1 2 3 4 5
return 0;
}
结论
vector是C++ STL提供的一个常用的容器,其提供了多个函数用于操作其中的元素。我们可以使用索引或迭代器访问vector中的元素,也可以使用push_back、insert、pop_back、erase等函数来添加或删除元素。vector还提供了sort等算法函数,用于对其元素排序和查找。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:关于vector的常见用法详解 - Python技术站