目录
vector 的说明
vector的增删查改
vector 的说明
vector 是表示大小可以更改的数组的序列容器,就像数组一样,vector对其元素使用连续的存储位置,这意味着也可以使用指向其元素的常规指针上的偏移量来访问它们的元素,并且与在数组中一样高。,vector非常有效地访问其元素(就像数组一样),并且相对有效地从其末端添加或删除元素。对于涉及在末尾以外的位置插入或删除元素的操作,它们的性能比其他操作差。
vector的增删查改
1.vector的初始化
由于vector是标准库中的类,在使用vector的时候我们需要包含标准库的头文件 < vector >
以下便是对于vector的初始化,我们除了能够将vector初始化成内置类型外,我们还能够将vector初始化成自定义类型,
#include<iostream>
#include<vector> //标准头文件
using namespace std;
int mian()
{
vector<int> v1(10); //内置类型
vector<double> v1(10); //内置类型
vector<string> v3(10); //自定义类型
vector<voctor<int>> v4(10); //自定义类型
retunr 0;
}
我们在初始化的同时,后面的()里表示开辟的空间的大小;例如v1,就是一个存储了十个int的vector类型,并将十个元素全部初始化成0;
2.我们还可以使用一些vector的接口函数,看到自己定义vector的变量的有效元素个数和空间的大小
我们可以通过.size()来查看有效元素的个数,通过.capacity()来查看空间的大小
3.遍历的三种方式:
方法一:通过.size()来查看到有效元素的个数后,我们便可以像数组一样,通过[]的方式来遍历它
方法二,vector依旧可已通过迭代器来遍历
方法三,可以使用迭代器后,同样可以通过范围for的方式来遍历
4.vector数据的插入
尾部插入:当我们需要要在尾部插入一个数据是,我们可以调用v1.push_back()进行数据的插入一个元素,
其他位置插入:当我们需要在其他位置插入时我们可以调用.insert ()来进行数据的插入。注意:函数的第一个参数需要传迭代器
4.vector数据的删除
尾部数据的删除:我们可以调用.pop_back()来进行删除。
其他位置的删除:我们可以调用.erase()来进行删除,注意:函数参数要是迭代器
某个元素的删除:注意:vector本身并不像string一样提供find接口函数,我们需要掉用库里的find(),配合erase()来进行删除。
6.resize()函数
当我们不给resize第二个参数时,resize()便会给元素附上初始值
当我们的第一个参数小于开始的size()时,便只会留下到resize()第一个参数的值位置,并不会对之前的元素做出修改
当我们的第一个参数大于开始的size()时,会对开始时的size()之后的空间进行补值,如果没给第二个参数,会附上初始值,如果给了,便会附上第二个参数的值
vector的 resize()函数都能够使我们的 size和capacity 增加。
如果本文对您有帮助请点赞支持一下~