
C++/STL-map(字典、哈希表)
文章平均质量分 61
C++/map(字典、哈希表)
u013250861
这个作者很懒,什么都没留下…
展开
-
C++-map:获取map中value最大值、最小值对应的键值对
函数,给定其特定的比较方式,将会获得在给定比较方式下得结果.上述代码中,给定的比较方式是根据。原创 2022-12-24 00:24:09 · 9821 阅读 · 0 评论 -
C++-map:unordered_map【内部实现了哈希表,因此其查找速度非常的快】【内部元素是无序的;遍历顺序与创建该容器时元素输入的顺序不一定相同】
存储时是根据key的hash值判断元素是否相同,即unordered_map内部元素是无序的,而map中的元素是按照二叉搜索树存储(用红黑树实现),进行中序遍历会得到有序遍历。=================迭代器=========================================操作==========================================元素访问==================================元素修改=================原创 2022-11-30 13:22:13 · 1061 阅读 · 0 评论 -
C++-STL-组件(一)-容器08:map/multimap(字典)
Map的特性是,所有元素都会根据元素的键值自动排序。Map所有的元素都是pair,同时拥有实值和键值,pair的第一元素被视为键值,第二元素被视为实值,map不允许两个元素有相同的键值。我们可以通过map的迭代器改变map的键值吗?答案是不行,因为map的键值关系到map元素的排列规则,任意改变map键值将会严重破坏map组织。如果想要修改元素的实值,那么是可以的。Map和list拥有相同的某些性质,当对它的容器元素进行新增操作或者删除操作时,操作之前的所有迭代器,在操作完成之后依然有效,当然被删除的那个元原创 2022-06-11 22:05:05 · 382 阅读 · 0 评论 -
C++-map:map判断key是否存在【myMap.find(item)!=myMap.end()】
当所查找的关键key出现时,它返回数据所在对象的位置,如果沒有,返回iter与end函数的值相同。原创 2022-11-29 00:02:00 · 3495 阅读 · 0 评论 -
C++-STL-map:map插入元素的几种方式【用数组方式插入数据】【用insert函数插入pair数据】【用insert函数插入value_type数据】
以上三种用法,虽然都可以实现数据的插入,但是它们是有区别的,当然了第一种和第二种在效果上是完成一样的,用insert函数插入数据,在数据的插入上涉及到集合的唯一性这个概念,即当map中有这个关键字时,insert操作是插入数据不了的,上面这两条语句执行后,map中1这个关键字对应的值是“student_one”,第二条语句并没有生效,那么这就涉及到我们怎么知道insert语句是否插入成功的问题了,可以用pair来获得是否插入成功,程序如下。大家可以用如下程序,看下用数组插入在数据覆盖上的效果。原创 2022-11-29 00:04:09 · 10937 阅读 · 0 评论 -
C++-STL-map:map遍历的几种方式
内部实现了一个红黑树,该结构具有自动排序的功能,因此map内部的所有元素都是有序的,红黑树的每一个节点都代表着map的一个元素,因此,对于map进行的查找,删除,添加等一系列的操作都相当于是对红黑树进行这样的操作,故红黑树的效率决定了map的效率。内部实现了一个哈希表,因此其元素的排列顺序是杂乱的,无序的。两种关联容器,可以将key与value关联起来。效率较低但 提供了稳定效率和有序的序列。内存占用略高,而且是线性成比例的。查询复杂度O(1),查询复杂度O(logn)原创 2022-11-29 00:06:15 · 130 阅读 · 0 评论