本文主要是介绍P3-P6容器之分类与各种测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
序列容器
关联式容器
这里讲到的哈希碰撞,是两个元素的存放位置冲突,用链表进行处理;同时hashtable的链表不能太长
以下测试程序之辅助函数
一、序列容器
array
vector
vector容量是两倍增长, 当添加元素之后,容量不够,会去内存中找两倍的空间,将之前的元素放入存放。
127行模板函数find前面双冒号是全局的意思
list
每次扩充一个结点
标准库和容器自带的sort(一般用自带的比较好)
单向链表
deque(双端队列)
deque没有自带sort,要用标准库的。
可以存放10亿个元素
queue(单端队列)(技术上又可以称容器适配器)
stack(技术上又可以称容器适配器)
二、关联式容器
multiset(红黑树)
查找速度非常快(key==value)
multimap(红黑树)
unordered_multiset
链表太长,查找复杂度O(k),k是同一个哈希值的元素个数
unordered_multimap
set
map
unordered_map/set类似
这篇关于P3-P6容器之分类与各种测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!