c++容器list、vector、map、set区别
list
封装链表,以链表形式实现,不支持[]运算符。
对随机访问的速度很慢(需要遍历整个链表),插入数据很快(不需要拷贝和移动数据,只需改变指针的指向)。
新添加的元素,list可以任意加入。
vector
封装数组,使用连续内存存储,支持[]运算符。
对随机访问的速度很快,对头插元素速度很慢,尾插元素速度很快
新添加的元素,vector有一套算法。
map
采用平衡检索二叉树:红黑树
存储结构为键值对
set
采用平衡检索二叉树:红黑树
set中不包含重复的数据
Hash
2021-10-02 21:18:31
95KB
c
c+
c++
1