9-1 顺序容器概述

网友投稿 670 2022-11-18

9-1 顺序容器概述

9-1 顺序容器概述

顺序容器的类型

顺序容器类型描述
vector可变长数组;支持随机访问;在尾部之外的位置插入元素较慢
string和vector类似,但是专门用来保存字符;随机访问;尾部插入块
list双向链表;顺序访问;在任何位置插入都很快
forward_list单向链表;单向顺序访问;在任何位置插入都很快
deque双端队列;支持随机访问;在头尾插入元素很快

支持随机访问,头(尾)插入:vector,string,deque

只支持顺序访问,但插入快速:list,forward_list

以下是一些选择容器的基本原则

除非你有很好的理由选择其他容器,否则应使用vector。如果程序要求随机访问元素,应使用vector或deque。如果程序要求在容器的中间插入或删除元素,应使用list或forward_list。如果程序需要在头尾位置插入或删除元素,但不会在中间位置进行插入或删除操作,则使用deque。如果你的程序有很多小的元素,且空间的额外开销很重要,则不要使用list或forward_list。如果程序只有在读取输入时才需要在容器中间位置插入元素,随后需要随机访问元素,则首先,确定是否真的需要在容器中间位置添加元素。当处理输入数据时,通常可以很容易地向vector追加数据,然后再调用标准库的sort函数(我们将在10.2.3节介绍sort(第343页))来重排容器中的元素,从而避免在中间位置添加元素。如果必须在中间位置插入元素,考虑在输入阶段使用list,一旦输入完成,将list中的内容拷贝到一个vector 中。

总结:能用vcetor就用vector,除非需要频繁地在中间插入元素

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Linux 内核网络栈分析: 接收数据
下一篇:jmeter接口测试教程及接口测试流程详解(全网仅有)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~