<一>C++ STL
STL (standard template libaray - 标准模板库):是 C++ 标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。
通俗来说:STL就是将常见的数据结构(例如 顺序表,链表,栈,队列,二叉树,哈希...)以模板的形式进行封装,使用时,不用我们人为再去写,可以直接调用。并且包含常见的通用的泛型算法(一些常规的算法也不用自己实现,可以直接调用)
通用的泛型算法两大特性:
通用的:对于任意类型的数据结构都可以处理。(线性表,链表,二叉树....)
模板实现:以模板的方式实现,对于任意数据类型都可以处理。(int/double/short/long.....)
一标准容器
1:顺序容器(底层数据结构都是顺序表,数组,链表,栈队列)
vector 向量容器
deque 双端队列容器
list 链表
2:容器适配器
stack 栈
queue 队列
priority—queue 优先队列
3:关联容器(基于高级数据结构)
无序关联容器 (基于链式哈希表) 增删查 O(1)
unordered_set
unordered_multiset
unordered_map
unorder_multimap
有序关联容器(基于红黑树)增删查 O(log2n)
set
multiset
map
multimap
二:近容器
数组 string bitset(位容器)
迭代器
iterator和const_iterator
reverse_iterator 和const_reverse_iterator
函数对象(类似C的函数指针)
greater,less
泛型算法
sort,find,find_if bindary_search,for_each
相关文章
- Nginx 优化静态文件访问
- MySQL 的性能(下篇)—— 性能优化方法
- MySQL 的性能(上篇)—— SQL 执行分析
- [SQL]SQL 执行顺序
- [工具]PyCharm激活、注册码无效解决办法
- Redis 详解
- Redis事务
- Redis持久化
- Redis集群搭建
- Tampermonkey for Mac(油猴Safari浏览器插件)中文版v 4.17.6162
- Redis分布式锁的10个坑
- 如何解决 Redis 数据倾斜、热点等问题
- 免费给自己的网站加 HTTPS
- iterm2 快捷键(转载)
- Too many authentication failures for xxxx_username
- peewee insert 数据时报错:'buffer' object has no attribute 'translate'
- virtualenv 虚拟环境报错:setuptools pip wheel failed with error code 1
- supervisor 安装、配置、常用命令
- _ssl.c:510: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
- [MySQL]支持 emoji(字符集问题)