vector容器学习笔记

vector容器学习笔记(待续)

参阅 StanleyB.Lippman, JoséeLajoie, BarbaraE.Moo. C++ Primer中文版[M]. 电子工业出版社, 2013.

Vector特点:

类模板。

可变大小数组,支持快速随机访问。

尾部之外的位置插入或删除元素会很慢

Vector使用:

头文件:vector

使用时需要加入命名空间:std::vector

初始化方式:

vector<T> v1                        //空对象,类型为T,执行默认初始化

vector<T> v2(v1)                  //v2中包含有v1所有元素的副本

vector<T> v2 = v1                //等价于v2(v1),v2中包含有v1所有元素的副本

vector<T> v3(n, val)             //v3包含了n个重复的元素,每个元素的值都是val

vector<T> v4(n)                   //v4包含了n个重复执行初始化的对象

vector<T> v5{a,b,c,...}         //v5包含了初始值个数的元素,每个元素被赋予了响应的初始值

vector<T> v5 = {a,b,c,...}     //等价于v5{a,b,c,...}

操作:

v.empty()                             //如果 v 不含有然和元素,返回真,否则返回假

v.size()                                //返回 v 中元素的个数,返回类型为vector<T>::size_type,使用该类型必须指明vector<T>

v.push_back(t)                    //向 v 的尾端添加一个值为 t 的元素

v[n]                                     //返回v中第n个位置上元素的引用

v1 = v2                               //用v2中元素的拷贝替换v1中的元素

v1 = {a,b,c,...}                    //用列表中元素的拷贝替换v1中的元素

v1 == v2                            //v1和v2相等 当且仅当 他们的元素数量相同对应位置的元素值都相同

v1 != v2

<,<=,>,>=                          //以字典顺序进行比较

vector使用迭代器:

v.begin()                           //获取指向第一个元素的迭代器

v.end()                             //获取指向最后一个元素的下一个位置的迭代器

                                        //如果容器为空,返回的是同一个迭代器,即最后一个元素的下一个位置。

v.rbegin()                         //获取指向最后一个元素位置的迭代器(+n运算之后往第一个元素方向移动n个位置)

v.rend()                           //获取指向第一个元素的前一个位置的迭代器(-n运算之后往最后一个元素方向移动n个位置)

下列操作对象 cv 为常量容器

cv.cbegin()

cv.cend()

cv.crbegin()

cv.crend()

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值