C++容器map、unordered_map、set、unordered_set的区别

1、map:

底层由红黑树实现。

Key在红黑树中有序排列,对红黑树进行中序遍历即可得到Key从小到大的排序序列。

使用map可在O(1)的时间复杂度下快速查找到Key。

2、unordered_map

底层由哈希表实现。

Key无序排列。

使用unordered_map同样可以在O(1)的时间复杂度下快速查找到Key。

3、set

底层由红黑树实现。

Key在红黑树中有序排列,对红黑树进行中序遍历即可得到Key从小到大的排序序列。

使用set可在O(1)的时间复杂度下快速查找到Key。

 

4、unordered_set

底层由哈希表实现。

Key无序排列。

使用unordered_set同样可以在O(1)的时间复杂度下快速查找到Key。

上一篇:map 使用(unordered_map 和 map)


下一篇:C++:STL容器 总结