最近看到的关于C++map的妙用 备忘录
map的基本结构
一个容器,一个元素可以存一个键值和一个值,一个键值索引一个值,而每一个键值都是唯一的。键值可以是任意类型,值也可以是任意类型。
延伸妙用
- 非数值类型的索引:比如说,当你想用两个值去索引一个值的时候,你就可以把这两个值打包成一个结构体,然后把这个结构体的类型作为键值的类型。
- 索引数值不连续的数组:当你用一堆大小不一的数值作为索引的时候,因为他们都是不同的,足以去索引什么,如果用数组,那么值与值中间的值的部分也被作为了索引,大大浪费了空间,尤其是当值与值差较大的时候。所以这个时候就可以用的map,用这些值作为键值去索引。典型的例子比如:统计一个数列中所有不同的数出现的次数,那么在map中用不同的数作为索引,去索引他们对应的出现次数就可以了。
未完待续。。。。