C++vector容器详解

vector的介绍和使用

        vector的基本概念

 vector是一个可变数组大小的序列容器,可以看作一个数组。所以他也是连续存储数据的,就是意味着他可以通过下标的方式来访问和修改数据。他也具备数组的优点,能够高效的随机访问和修改。但是,他在插入、删除数据的效率上就很低下。

当有新数据插入到容器中时,数组会重新分配大小,意味着他要会重新开辟一个新大小的数组,并将原来的数据拷贝到新数组中。这也是导致后面迭代器失效的主要原因。

当一个vector容器创建时,编译器往往会开辟比所需空间稍大一点的空间,当容量不够时,vector会按照一定规则开辟新大小的空间。为了更好管理这些空间,vvector的空间是动态增长的。

vector的基本用法

一、构造方式:

二、空间管理:

1.empty(); //判断容器是否为空
2.capacity(); //返回容器的容量
3.size(); //返回容器的大小,即容器中元素的个数
4.resize(int num); //重新指定容器的长度为num,若容器变大,则以默认值0填充新位置,如果容器变短,则末尾超过容器长度的元素被删除
5.resize(int num,int elem); //重新指定容器的长度为num,若容器变长,则以elem填充新位置,如果容器变短,则末尾超过容器长度的元素被删除

6.reserve(int x)://指定容器新的的大小,可以提前开好空间,省去容器变大时,扩容所需的时间

三、迭代器

正向:

begin();//指向容器的开始

end();//指向容器的最后

反向:

rbegin();//相当于end()

rend();//相当于begin()

我们可以通过这两个区间去遍历数据内容

四、容器的操作

1.push_back(ele); //尾部插入元素ele
2.pop_back(); //删除最后一个元素
3.insert(const_iterator pos,ele); //在迭代器指向的位置pos处插入一个元素ele
4.insert(const_iterator pos,int count,ele); //在迭代器指向的位置pos处插入count个元素ele
5.erase(const_iterator pos); //删除迭代器指向的元素
6.erase(const_iterator begin,const_iterator end); //删除迭代器从begin到end之间的元素
7.clear(); //删除容器中所有元素

8.back()://获取尾部的数据

9.front();//获取头部的数据

10.operator[];//可以通过下标访问数据

基本使用就这些了,大家一起学习进步!

vector的深度剖析在下一篇分享

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Though even

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值