C/C++总结(一)

由于C/C++博大精深,此篇总结只是沧海一粟,并不会说完全部东西,故会有连载,以后有学到什么东西就一步步往这里面填充
3/29/2015 10:38:11 PM —>

STL 三种容器vector,list,deque

  • vector
  • vector,一个自动增长的数组。 插入:提供push_back(para)函数用于后插入数据,提供insert(vector.begin()+shift,val)用于前插入数据。 删除:提供void pop_back()用于后删除数据,同理可以用erase()进行前删除数据。 vector优点为:便于插入和删除,还有随机访问,可以直接用[ ]和at(),直接访问数据。 vector对于内存开辟,初始化,清除都很方便,因为其从头到尾都只有一块内存。 vector缺点:使用insert,earse会大范围移动数据,影响性能。
  • list
  • list,链表。有单向链表,双向链表,循环链表。 同样提供的方法有:push_back,pop_back,push_front,pop_front.进行插入删除排序。 虽然list的随机访问性不好,没有[ ]和at操作,但是有提供front,back用于访问两端数据。 优点:擅长插入和删除的链表。 缺点:清除容器内所有数据很麻烦。
  • deque
  • deque同list一样,提供push_back,pop_back,push_front,pop_front四个方法。 deque还提供at, [ ]用于访问。
    各个容器优点缺点
    vector随机访问,动态操作,自动调节内存,节省空间。插入,删除效率低。在头部插入和删除消耗的时间规模同容器大小成正比。当添加的数据规模大于默认大小时,需要进行整体的重新分配、拷贝与释放
    list内存不连续。插入删除效率高。可在两端进行pop,push不能随机访问。相对vector占用内存高。
    deque可以随机访问。插入与删除也方便。同样可在两端进行pop,push操作占用内存多
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值