c++容器list、vector、map、set有什么区别和用法-创新互联

这篇文章主要讲解了c++容器list、vector、map、set有什么区别和用法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

创新互联建站主要从事网站建设、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务广南,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

c++容器list、vector、map、set区别

list

  • 封装链表,以链表形式实现,不支持[]运算符。
  • 对随机访问的速度很慢(需要遍历整个链表),插入数据很快(不需要拷贝和移动数据,只需改变指针的指向)。
  • 新添加的元素,list可以任意加入。

vector

  • 封装数组,使用连续内存存储,支持[]运算符。
  • 对随机访问的速度很快,对头插元素速度很慢,尾插元素速度很快
  • 新添加的元素,vector有一套算法。

map

  • 采用平衡检索二叉树:红黑树
  • 存储结构为键值对

set

  • 采用平衡检索二叉树:红黑树
  • set中不包含重复的数据

Hash_Map

  • 采用hash算法加快查找过程,但需要更多内存存放hash桶元素,是一种采用空间换取时间的策略。
     

c++容器list、vector、map、set用法

vector

在内存中分配一块连续的存储空间进行存储,支持不指定vector大小的存储。即将元素置于一个动态数组中加以管理的容器。

vector对象的创建

vector<数据类型> vector容器名称
vector vecInt;     //一个存放int的vector容器。
vector vecFloat;     //一个存放float的vector容器。
vector vecString;    //一个存放string的vector容器。

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:c++容器list、vector、map、set有什么区别和用法-创新互联
网页链接:http://ybzwz.com/article/jhgjp.html