说在前面
本篇文章是腾讯技术面试题目汇总第一篇。
后续将持续推出互联网大厂,如阿里,腾讯,百度,美团,头条等技术面试题目,以及答案和分析。
欢迎大家点赞关注转发。
1.map插入方式有几种?
- 用insert函数插入pair数据,
mapStudent.insert(pair<int, string>(1, “student_one”)); - 用insert函数插入value_type数据
mapStudent.insert(map<int, string>::value_type (1, “student_one”)); - 在insert函数中使用make_pair()函数
mapStudent.insert(make_pair(1, “student_one”)); - 用数组方式插入数据
mapStudent[1] = “student_one”;
2.STL中unordered_map(hash_map)和map的区别,hash_map如何解决冲突以及扩容
- unordered_map和map类似,都是存储的key-value的值,可以通过key快速索引到value。不同的是unordered_map不会根据key的大小进行排序,
- 存储时是根据key的hash值判断元素是否相同,即unordered_map内部元素是无序的,而map中的元素是按照二叉搜索树存储,进行中序遍历会得到有序遍历。
- 所以使用时map的key需要定义operator<。而un