c++ STL容器总结:vector、list、deque、queue、stack、set、map
c++STL中的容器会自动申请和释放内存,无需使用new、delete,一共有7种:1、vector: 类似数组,存储在一段连续的内存数组上,超出capacity后需要开辟一段新的更大的空间,把原来的数据拷贝过来,插入删除可能使iterator失效;可以快速地随机访问2、deque双端队列: 类似数组,动态的以分段连续的空间组合而成,随时能增加一段新的空间并链接起来;可以快速地在头尾插入删除数据3
·
c++STL中的容器会自动申请和释放内存,无需使用new、delete,一共有7种:
1、vector:
类似数组,存储在一段连续的内存数组上,超出capacity后需要开辟一段新的更大的空间,把原来的数据拷贝过来,插入删除可能使iterator失效;
可以快速地随机访问
2、deque双端队列:
类似数组,动态的以分段连续的空间组合而成,随时能增加一段新的空间并链接起来;
可以快速地在头尾插入删除数据
3、list双向链表:
内存空间是不连续的,链接而成;
可以快速地在任何位置插入删除数据
4、queue队列:
没有迭代器,不能遍历;
先进先出
5、stack堆栈:
没有迭代器,不能遍历;
先进后出
6、set集合:
以二叉排序树的形式存储元素,set中的元素在插入删除时就会自动排序;
查找的速度很快O(lgn);
不能同时存在两个相同的元素;
7、map字典:
以二叉排序树的形式存储元素,map中的元素在插入删除时就会自动排序(以key作为排序依据);
查找的速度很快O(lgn);
不能同时存在两个具有相同key的元素;
一、初始化
二、赋值
三、迭代器(stack、queue没有迭代器)
四、元素访问
五、插入删除元素
六、其它操作
更多推荐
已为社区贡献1条内容
所有评论(0)