C++ 11 STL常用容器总结
一、线性(无进出的顺序):
(1)vetcor 向量、相当于自动增长的数组,不够时二倍内存增长
(2)list 双向链表,插入删除速度快
(3)array 固定大小的数组,编译时分配栈内存,更高的性能
(4)forward_list 单向链表,不提供 size() 方法,比 std::list 更高的空间利用率
二、线性(有进出的次序):
(1)stack(栈,后进先出)
(2)queue(队列,先进先出)
(3)deque(双向队列,双向进出)
(4)priority_queue(优先队列、进入后,取出有优先级)
三、树状结构(红黑树,查找速率快,查找的平均时间复杂度为 O(logN))
(1)set(集合,元素不会重复,自动去重复)
(2)multi_set 元素可以出现多次,且有序
(3)map(映射,元素不会重复,自动去重复)
(4)multi_map 元素可以出现多次,且有序
四、哈希表(多用于海量数据的映射,查找的平均时间复杂度为 O(1))
(1)unordered_set :元素无序且只能出现一次
(2)unordered_multiset : 元素无序可以出现多次
(3)unordered_map :元素无序且只能出现一次
(4)unordered_multimap : 元素无序可以出现多次
五、其它
(1)pair:两个元素的结构体,可用于map的insert。
(2)tuple:元组,list中是可变的,tuple不可变,代码更安全。
(3)string:字符串类型
(4)bitset:进行位操作
C++ 11 STL常用容器总结
最新推荐文章于 2023-07-10 11:16:23 发布