August 2021
Intermediate to advanced
450 pages
5h 35m
Chinese
编写程序,在一个(名字,数值)对的列表中查找给定名字是一项很烦人的工作。而且,除非列表很短,顺序搜索是非常低效的。标准库提供了一个名为map的平衡二叉搜索树(红黑树)。
map也被称为关联数组或字典,用平衡二叉树实现。
标准库map是值对的容器,经过特殊优化来提高搜索性能。我们可以像初始化vector和list那样初始化map(参见11.2和11.3节):
map也支持下标操作,给定的下标值应该是map的第一个类型(称为关键字(key)),得到的结果是与关键字关联的值(应该是map的第二个类型,称为值或映射类型)。例如:
换句话说,对map进行下标操作本质上是进行一次搜索。如果未找到key,则向map插入一个新元素,它具有给定的key,关联的值为value类型的默认值。在本例中,整数类型的默认值是0,恰好是我用来表示无效电话号码的值。
如果希望避免将一个无效电话号码添加到电话簿中,就应该使用find()和insert()来代替[]。
Read now
Unlock full access