C++ STL 顺序性容器 vector
基本概念和介绍
vector和数组非常相似,不同的是数组所申请是静态空间,也就是说数组的长度在数组定义的时候就已经确定下来了,但是vector可以进行动态分配,随着元素的插入和删除,vector的长度也会随之改变。节省了空间。
常见的操作
先说一下什么是API,API就是应用程序编程接口(Application Programming Interface),说得更加通俗易懂一些,别人编译好的程序,提供给你使用,就叫做API。你使用了别人代码(或者程序)中的某个函数、类、对象,就叫做使用了某个API。
有些函数,要传入的不仅是普通的参数,你还要传入对应的: 迭代器,所谓迭代器,就是一种泛化的指针,因为指针本身就是一种迭代器,像下面讲解的insert()函数中要传入的v.begin()就是一种迭代器,以及在PrintVector打印输出中,也需要使用到迭代器,此处不做过多详解;
void PrintVector(vector<int>& v) |
接下来回归正题 :
① 构造函数
常见的构造方式有四种,一般我们会前两种就可以
vector<int> v1; //1.默认构造,无参构造 |
②赋值操作
赋值的话可以使用assign()函数,也可以使用其他方式
//直接赋值 |
③插入和删除
插入主要是使用push_back(),也可使用insert();删除操作主要是pop_back(),也可使用erase()
vector<int> v; |
④容量和大小
对于容量用的是capacity(),对于大小是size(),当然你也可以用resize()来改变其大小,不够在此之前都需用empty()这个函数来判断一下容器是否为空;
vector<int> v; |
除此之外还有很多函数,例如at()返回元素,front()返回首元素,back()返回尾元素,clear()清空容器等等,这里列举比较常用的,想深入了解的小伙伴可以参考这个网站cplusplus
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 うずまきナルト!
评论