<STL系列>vector

vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。

注:为了方便理解,以下均以int型容器进行举例

Vector容器的声明

vector<类型>  变量

<1> vector<int>  vint  :创建一个空容器

<2> vector<int>  vint(100) :创建元素个数为100的容器

<3> vector<int>  vint(100,10) :创建元素个数为100,且值均为10的容器

Vector容器的复制

<1> vector<int>  vcopy(vint) :将vint复制一份到vcopy

<2> vector<int>  vcopy(vint.begin() , vint.end()) :将[begin , end)区间的数值赋值给vcopy

<3> vcopy.assign(vint.begin() , vint.end()) :将[begin , end)区间的数值赋值给vcopy

<4> vcopy.assign(n , elem) :将n个elem赋值给vcopy

Vector容器的插入

<1> vint.push_back(elem) :在尾部加入一个elem数据

<2> vint.insert(pos , elem) :在pos位置插入一个elem数据,返回新数据位置,其中pos要用类似vint.begin()表示

<3> vint.insert(pos , n , elem) :在pos位置插入n个elem数据

<4> vint.insert(pos , vint.begin() , vint.end()) :在pos位置插入[begin , end)区间的数据

Vector容器的删除

<1> vint.pop_back() :删除最后一个数据

<2> vint.erase(pos) :删除pos位置上的数据,返回下一个数据的位置

<3> vint.erase(vint.begin() , vint.end()) :删除[begin , end)区间的数据

Vector容器的获得

<1> vint.front() :返回容器第一个数据

<2> vint.back() :返回容器最后一个数据

<3> vint.begin() :返回指向第一个数据的迭代器,用vector<int>::iterator定义的变量接收或vector<int>::const_iterator定义的变量

<4> vint.end() :返回指向最后一个数据下一个的迭代器,用vector<int>::iterator定义的变量接收或vector<int>::const_iterator定义的变量

<5> vint.rbegin() :返回逆向队列的第一个数据的迭代器,用vector<int>::reverse_iterator定义的变量接收

<6> vint.rend() :返回逆向队列的最后一个数据的下一个的迭代器,用vector<int>::reverse_iterator定义的变量接收

Vector容器的其它

<1> vint.size() :返回容器实际数据的个数

<2> vint.capacity() :返回容器数据的个数

<3> vint.max_size() :返回容器可容纳数据的最大个数

<4> vint.empty() :判断容器是否为空,若是空,返回true

<5> vint.clear() :清空容器中所有数据

<6> vint.resize(n) :重新指定容器长度

<7> vint.~vector<int>() :销毁所有数据,释放内存

<8> vint1.swap(vint2) 等价于swpa(vint1,vint2) :vint1与vint2元素交换

<9> vint.at(id) 等价于 vint[id] :以下标访问容器,不过前者可以判断下标是否越界

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值