c++ STL中,vector和set都实现了对一类对象的存储,然后都可以查找、添加、删除、修改。这两个功能看似如此相似,c++为什么会设计这样重复的东西。既生瑜何生亮,既生vector,何生set。当然不是,c++引进vector、set有其细致的考虑。
首先vector属于顺序容器,其元素与存储位置与操作操作有关;set属于关联容器,其元素相当于键值。
vector擅长于解决某个位置是什么值的问题,而set擅长于解决,某个元素在那个位置的问题,知道元素的内容,查找它的位置。因此vector特别好的支持随机访问,而set不支持(不支持下标访问)。
分享到:
相关推荐
区别和联系-list-map-set-vector
c++容器list、vector、map、set区别 list 封装链表,以链表形式实现,不支持[]运算符。 对随机访问的速度很慢(需要遍历整个链表),插入数据很快(不需要拷贝和移动数据,只需改变指针的指向)。 新添加的元素,...
更为精炼的总结:Collection 是对象集合, Collection 有两个子接口 List 和 SetList 可以通过下标 (1,2..) 来取得值,值
STL 中的常用的Vector Map Set Sort用法
string, vector, set, 算法:快慢指针等 相关总结
c程序必备的辅导材料,新手必需品,详细介绍了map,set的用法
Collection, List, Set 和 Map 用法和区别 Collection 是 Java 中的一种对象集合,提供了许多有用的方法来操作集合元素,例如添加、删除、遍历等。Collection 是一个接口,下面有两个子接口:List 和 Set。 List ...
第6次课第4章STL1(vector-set-map-pair).pptx
C++STL vector list map set dqueue 等应用举例及PPT讲解示例,代码演示
List、ArrayList、Vector及map、HashTable、HashMap是Java容器类中的几个重要的接口和实现类,了解它们之间的区别是非常重要的。 首先,我们来看List和ArrayList的区别。List是一个接口,而ArrayList是一个实现了...
非常实用的STL容器讲解学习,内容全,讲解详细 包括Vector、Vector、String、Deque、sort、set、map,绝对有用!!
一共四个doc文件,list综合实例、multimap和map的实例、set和multiset的综合实例、vector综合实例
map和set支持快速查找和删除,一般使用RB树来实现,当然后面还有用hashtable实现的,使用rb树作为底层结构增删数据都很快,不存在内存移动也就不容易出现迭代器失效的问题,这也就是区别于vector的原因
c++ STL source code, hash and vector etc
此文档是Vector的A2L编辑工具APAP2 Tool Set的使用手册,基于C代码直接自动生成A2L文件,效率高。
vector list map pair stl 标准模板库 c++ 程序示例
Java 集合类 List-Set-Map 的区别和联系 Java 集合类 List、Set 和 Map 是 Java 语言中最基本的集合类,它们之间存在着紧密的联系和区别。在本文中,我们将对 Java 集合类 List、Set 和 Map 的区别和联系进行详细的...
The series in Vector Optimization contains publications in various fields of optimization with vector-valued objective functions, such as multiobjective optimization, multi criteria decision making, ...