C++的STL

一、介绍

        STL(Standard Template Library)标准模板库,为了提升代码的复用性,伴随着面向对象编程思维的发展,建立了一套数据结构与算法的标准:STL。

二、分类

        STL从广义上分为三类:

容器container
算法algorithm
迭代器iterator

        容器算法之间通过迭代器进行连接。

        STL几乎所有的代码都是用的模板类模板函数

三、六大组件

        STL的六大组件为:容器算法迭代器仿函数适配器空间配置器

3.1 容器

        STL的容器是一些广泛使用的数据结构。分为序列式容器关联式容器

序列式容器强调值的排序,每个元素有固定的位置
关联式容器树形结构,各元素之间没有确定的物理位置关系

        常用的STL容器包括数组链表队列集合映射表等。

3.2 算法

        算法(Algorithums)指有限的步骤内解决问题办法,分为质变算法非质变算法

质变算法在运算过程中会改变元素的值,如:拷贝、替换、删除等
非质变算法在运算过程中不改变元素的值,如:查找、计数、遍历、寻找大小值等

3.3 迭代器

        提供一种方法,既能遍历容器中的每个元素,由不暴露容器的内部具体表示方式

迭代器分类如下:(迭代器的使用方式指针类似)

种类功能支持的运算
输入迭代器对数据进行只读访问++===
输出迭代器对数据进行只写访问++
前向迭代器对数据进行读写访问,能向前推进迭代器++===
双向迭代器对数据进行读写访问,能向前向后推进迭代器++- -
随机访问迭代器

对数据进行读写访问,可以以跳跃的方式访问数据

功能最强大的迭代器)

++- -[ ]- n

>>=<<=

        常用容器的迭代器一般为:双向迭代器随机访问迭代器

3.4 仿函数

        行为类似函数,可作为算法的某种策略。

3.5 适配器(配接器)

        用来修饰容器、仿函数、迭代器接口。

3.6 空间配置器

        负责空间的配置与管理。

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值