vector的函数
一、什么是vector
在计算机科学中,vector是一种动态数组的数据结构,也被称为可变长度数组或动态数组。vector的函数指的是在vector类中定义的成员函数,用于对vector对象进行操作和处理。
二、vector的基本操作
1. 声明和初始化vector对象
可以通过以下方式声明和初始化一个vector对象:
vector<int> vec; // 声明一个空的int类型的vector
vector<int> vec(10); // 声明一个含有10个元素的int类型的vector,并将每个元素初始化为0
vector<int> vec = {1, 2, 3}; // 声明一个含有3个元素的int类型的vector,并分别初始化为1, 2, 3
2. 向vector中插入元素
可以使用push_back()函数向vector的末尾插入一个元素,也可以使用insert()函数在指定位置插入一个或多个元素。
vector<int> vec;
vec.push_back(1); // 向vector的末尾插入1
vec.insert(vec.begin() + 1, 2); // 在第2个位置插入2
vec.insert(vec.begin() + 2, 3, 4); // 在第3个位置插入4个元素,每个元素初始化为3
3. 访问和修改vector中的元素
可以使用下标运算符[]或at()函数访问和修改vector中的元素。下标从0开始。
vector<int> vec = {1, 2, 3};
int firstElement = vec[0]; // 访问第一个元素,值为1
int secondElement = vec.at(1); // 访问第二个元素,值为2
vecautoit[2] = 5; // 修改第三个元素的值为5
4. 获取vector的大小和容量
可以使用size()函数获取vector中元素的个数,使用capacity()函数获取vector容器的实际大小。
vector<int> vec = {1, 2, 3};
int size = vec.size(); // 获取vector中元素的个数,值为3
int capacity = vec.capacity(); // 获取vector容器的实际大小,值为3
5. 删除vector中的元素
可以使用pop_back()函数删除vector末尾的元素,也可以使用erase()函数删除指定位置的元素。如果需要删除多个连续位置的元素,可以使用erase()函数结合迭代器。
vector<int> vec = {1, 2, 3};
vec.pop_back(); // 删除末尾的元素后,vector中剩余的元素为1, 2
vec.erase(vec.begin() + 1); // 删除第2个位置的元素后,vector中剩余的元素为1
vec.erase(vec.begin(), vec.end()); // 删除所有的元素
三、vector的高级操作
1. vector的排序
可以使用sort()函数对vector中的元素进行排序,默认以升序排列。
vector<int> vec = {2, 1, 3};
sort(vec.begin(), vec.end()); // 对vector中的元素进行排序,结果为1, 2, 3
2. vector的反转
可以使用reverse()函数将vector中的元素进行反转。
vector<int> vec = {1, 2, 3};
reverse(vec.begin(), vec.end()); // 对vector中的元素进行反转,结果为3, 2, 1
3. vector的查
可以使用find()函数在vector中查指定元素的位置,可以使用count()函数统计指定元素的个数。
vector<int> vec = {1, 2, 3};
auto it = find(vec.begin(), vec.end(), 2); // 查2在vector中的位置
int count = count(vec.begin(), vec.end(), 2); // 统计vector中2出现的次数
4. vector的拼接
可以使用insert()函数将一个vector插入到另一个vector的指定位置,或使用push_back()函数将一个vector的元素插入到另一个vector的末尾。
vector<int> vec1 = {1, 2};
vector<int> vec2 = {3, 4};
vec1.insert(vec1.end(), vec2.begin(), vec2.end()); // 将vec2插入到vec1的末尾
vec1.push_back(vec2.begin(), vec2.end()); // 将vec2的元素插入到vec1的末尾
四、总结
本文介绍了vector的基本操作和高级操作。通过对vector的函数的讲解,我们可以方便地操作和处理vector对象,实现动态数组的功能。同时,vector提供了丰富的函数接口,例如插入、删除、查、排序等,便于对vector中的元素进行操作和处理。希望本文对你理解和使用vector的函数有所帮助。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论