STL基础4:STL7个常用容器的比较
来源:互联网 发布:linux cp stat 编辑:程序博客网 时间:2024/05/22 07:59
STL基础4:STL7个常用容器的比较
1.STL容器分类:
STL的容器可以分为以下几个大类:
一 顺序(序列)容器, 有vector, list, deque, string,stack( 适配器类), queue( 适配器类), priority queues( 适配器类)
二 关联容器, 有set, multiset, map, multimap, bitset,hash_set, hash_map, hash_multiset, hash_multimap
2.容器比较
vectordequelistsetmultisetmapmultimap名称向量容器双向队列容器列表容器集合多重集合映射多重映射
内部数
据结构
连续存储的数组形式(一端开口的组)
连续或分段连续存储数组(两端
开口的数组)
双向环状链表红黑树(平衡检索二叉树)红黑树红黑树红黑树头文件#include <vector>#include <deque>#include <list>#include <set>#include <set>#include <map>#include <map>操作元素的方式下标运算符:[0](可以用迭代器,但插入删除操作时会失效)
下标运算符或迭代器
只能用迭代器(不断用变量值来递推新值,相当于指针),不支持使用下标运算符
迭代器迭代器迭代器迭代器插入删除操作迭代器是否失效插入和删除元素都会使迭代器失效插入任何元素都会使迭代器失效。删除头和尾元素,指向被删除节点迭代器失效,而删除中间元素会使所有迭代器失效插入,迭代器不会失效。删除,指向被删除节点迭代器失效插入,迭代器不会失效。删除,指向被删除节点迭代器失效插入,迭代器不会失效。删除,指向被删除节点迭代器失效插入,迭代器不会失效。删除,指向被删除节点迭代器失效插入,迭代器不会失效。删除,指向被删除节点迭代器失效3.各容器特点比较以及选择
vectordequelistsetmultisetmapmultimap名称向量容器双向队列容器列表容器集合多重集合映射多重映射特点
增加和获取元素效率
很高,插入和删除的
效率很低
增加和获取元素效率
较高,插入和删除的
效率较高
增加和获取元素效率
很低,插入和删除的
效率很高
1.键(关键字)和值(数据)相等(就是模版只有一个参数,键和值合起来)
2.键唯一
3.元素默认按升序排列
1.键和值相等
2.键可以不唯一
3.元素默认按升序排列
1.键和值分开(模版有两个参数,前面是键后面是值)
2.键唯一
3.元素默认按键的升序排列
1.键和值分开
2.键可以不唯一
3.元素默认按键的升序排列
定义容器
vector<string> book(50);deque<string> book(50);list<string> book;set<string> book;multiset<string> book;map<int,string> book;multimap<int,string> book;
4.各容器的图表说明
4.1 vector
4.2 deque
4.3 list
4.4 map/multimap
4.5 set/multiset
转载自:http://blog.csdn.net/longhuahaha/article/details/8365041
阅读全文
0 0
- STL基础4:STL7个常用容器的比较
- STL基础4:STL7个常用容器的比较
- STL基础4:STL7个常用容器的比较
- C++STL里面7个常用容器的比较
- STL常用容器比较
- STL中几种常用容器比较
- STL — 7个常用容器的区别
- STL容器的效率比较
- STL容器的效率比较
- 【STL】常用容器的方法
- STL的一些常用容器
- STL 容器的常用操作
- STL容器的常用方法
- 常用到的STL容器
- STL中比较常用的容器是vector,set和map,比较常用的算法有Sort等。
- STL 中各容器的比较
- STL:如何理解容器对象的比较
- c++ stl容器的一些比较
- ESP8266 、station模式、 单连接透传模式 、基本指令
- mysql-5.7.19-winx64 初始密码登录以及修改密码
- Eclipse内存错误java heap space
- Super与this的区别
- 算法练习 剑指offer第5题
- STL基础4:STL7个常用容器的比较
- 负载均衡集群中的session解决方案
- Log4Net日志
- CSS背景及选择器的优先级
- 部署AlphaSSL
- ucos-iii学习之有内核对象参与的多任务应用程序
- strurts2 中的 ActionMapper的 作用
- openshift/origin学习记录(5)——添加Template(模板)并基于模板部署应用
- 专访阿里云量子技术首席科学家施尧耘:量子计算前途辉煌而任重道远