STLContianers容器精辟总结
一、序列容器(Sequence containers)
1、 Vector :一种序列容器,实现为动态数组,元素保存在连续的存储位置,支持迭代器和索引访问。与数组不同的是,可以自动分配存储空间,容易改变容器大小。当需要频繁从序列尾部增加或者删除数据时,可以表现出高效的性能。size记录了当前容器大小,capacity记录了当前已分配的最大空间。
2、 List:一种序列容器,实现为双向链表。与其他容器如vector和deques相比,list在容器内部插入、删除元素操作中性能更好。主要缺点是不支持元素直接按索引访问,需要迭代遍历。
3、 Deque:全称为double-endedqueue,即双端队列,支持元素按照索引访问,双向迭代遍历,元素可以被高效从前端或者后端增加和删除。与vector相比,增加了从前端增删元素的操作。缺点是不保证所有元素分布在连续的存储空间。尽管vector和deque提供的接口相似,但是工作原理不同,前者是动态分配连续空间的数组,后者的元素可以分块存储,有专门的类来保存信息,并提供统一访问。由于避免了反复重新分配空间,deque在处理大的序列时更加高效。
二、容器适配器(Container adaptors)
1、 Queue:一种容器适配器,实现为FIFO队列,注意后端push元素,前端pop元素。
2、 Priority queues:优先权队列,容器适配器,与数据结构”堆”相似,第一个元素总是最大元素。从后端pop和push元素。
3、 Stack:LIFO栈,容器适配器,从后端即栈顶pop和push元素。
三、 关联容器(Associativecontainers)
1、 Bitset :一种保存bit即0或者1,True或者False的容器。与数组相似,但是每个元素只分配一个位保存,只有C++中char空间的八分之一。支持元素直接按索引访问。
2、 Set:关联容器,存储有序(一般为升序)且唯一(与mutiliset对比)的元素,实现为二叉搜索树,元素的value就是key(与map对比)。unordered_set实现了无序set。
3、 Multiset:与set性质类似,只是允许出现重复元素。
4、 Map:关联容器,保存<Key,Value>对,同样保持有序,一般为升序,支持按照key来访问元素,key不允许重复。unordered_map实现了无序map。
5、 Multimap:与map性质类似,但是允许不同元素的key相同。
四、各容器成员函数一览图
参考资料 http://www.cplusplus.com/reference/stl/
分享到:
相关推荐
STL关联容器入门
C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用...
该文档详细讲解了C++中标准容器的使用,是一份不错的学习资料哦
STL的容器deque的详细使用方法和文档 6.0代码
STL -容器,string容器
STL容器,用思维导图的方式表达了一下,其中一些所有容器都通用的函数没有列举如a.size(),a.capacity()等。。希望对各位有帮助.
c++ STL容器使用代码,方便学习 vector string deque queue list set map multiset multimap 容器的API使用方法等
我自己写了一个vector,写了一个这样子的东西,收获挺大的,新手多打打代码
STL关联容器概述1
STL容器和算法函数表. 玩C++清一定看看STL
STL容器的一些使用简介
MyTinySTL - 用 C 11 实现的小型 STL(容器库+算法库)。代码结构清晰规范、包含中文文档与注释,并且自带一个简单的测试框架,适合新手学习与参考
C++/STL容器设计相关ppt及习题,属于教学文档
STL顺序容器:list的使用。 (Lists将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢. )
C++STL容器总结笔记自用学算法必学
STL学习总结,介绍STL函数,容器的用法
详细讲解了STL中vector容器的用法.
stl常用函数总结 stl常用函数总结 stl常用函数总结 stl常用函数总结 stl常用函数总结 stl常用函数总结 stl常用函数总结
STL是C/C++开发中一个非常重要的模板,而其中定义的各种容器也是非常方便我们大家使用。下面,我们就浅谈某些常用的容器。这里我们不涉及容器的基本操作之类,只是要讨论一下各个容器其各自的特点。STL中的常用容器...
stl中容器的比较,能对所学的容器有一个很好的认知和对比