STL算法
Posted supremegis-developer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STL算法相关的知识,希望对你有一定的参考价值。
算法:以有限的步骤,解决逻辑或者数学上的问题。
- 特定的算法往往搭配特定的数据结构,特定的数据结构是为了实现某种特定的算法。
- 关联式容器:与特定数据结构相关的算法。
- 泛型:不依赖于具体类型,由模板实现。
- 算法的泛型化:把操作对象的型别加以抽象化,把操作对象的标示法和取间目标的移动行为抽象化,整个算法就能在一个抽象层面上工作了。
- 泛型的算法可以不依赖于容器的具体类型,使得算法能作用于不同类型的容器上,实现代码复用。
- 迭代器是一种行为类似指针的对象,也可视为一种智能指针。
- 迭代器作为一种访问容器中元素的方式,具有相对统一的接口,是一种对容器元素访问的抽象。
- 算法通过迭代器提供的功能,实现对容器中元素的操作,而无需考虑容器的具体细节。使得算法无需依赖特定容器,降低算法与容器间的耦合,两者间关系如下图。
graph LR
algorithm --iterator--> containers
containers --- vector
containers --- array
containers --- list
containers --- ...
containers --- deque
containers --- set
containers --- map
STL算法主要分为以下几类:
- 数值算法 numeric
- 基础算法 algobase
- 集合相关算法 set
- 堆算法 heap
- 数据处理算法
以上是关于STL算法的主要内容,如果未能解决你的问题,请参考以下文章