STL(C++标准模板库)

本文深入探讨了C++中的STL(标准模板库),包括其核心组件如容器(如vector、list)、算法(如sort、find)和迭代器。STL通过模板类和函数增强了代码的复用性,其中迭代器作为容器和算法之间的桥梁,提供了灵活的数据访问方式。此外,还介绍了仿函数和适配器在STL中的作用,以及它们如何与容器和算法协同工作,以实现高效的数据管理和处理。
摘要由CSDN通过智能技术生成

软件界的需求:

    1、建立一种可重复利用的东西

    2、建立一套数据结构与算法的标准

    ——C++的面向对象与泛型编程思想,目的是提升代码的复用性。

    ——STL,是C++为建立数据结构和算法的一套标准。

STL(标准模板库)

       从广义上分为:容器(container)、算法(algorithm)和迭代器(iterator)

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

      STL几乎所有的代码都采用模板类或者模板函数

STL六大组件:容器、算法、迭代器、仿函数、适配器(配接器)、空间配置器

     1、容器:各种数据结构,如vector、list、deque、set、map等,用来存放数据

     2、算法:各种常用算法,如sort、find、copy、for_each等

    3、迭代器:容器与算法之间的胶合剂

    4、仿函数:行为了类似函数,可作为算法的某种策略

    5、适配器:一种可以用来修饰容器或者仿函数或迭代器接口的东西

    6、空间支配器:负责空间的配置和管理

容器:置物之器也

      STL容器封装一些广泛应用的数据结构。常用的数据结构有:数组、链表、树、栈、队列、集合、映射表等

     容器分为两种:序列式容器和关联式容器

     序列式容器:强调值的排序,序列式容器中的每一个元素均有固定的位置

     关联式容器:二叉树结构,各个元素之间没有严格的物理上的顺序关系。  

算法:问题之解法也

    算法分类:质变算法和非质变算法

    质变算法:算法在运算的过程中会更改区间的元素的内容。如拷贝、替换、删除等等

    非质变算法:与质变算法相反。例如查找、计数、遍历、寻找极值等等

迭代器:容器和算法之间的粘合剂 

    每个容器都有自己的专属迭代器。迭代器类似指针

   迭代器的种类:输入迭代器、输出迭代器、前向迭代器、双向迭代器、随机访问迭代器

          输入迭代器:对数据的只读的访问

          输出迭代器:对数据的只写访问

          前向迭代器:读写操作,并能向前推进迭代器

          双向迭代器:读写操作,并能向前和向后操作

         随机访问迭代器:读写操作,可以跳跃的方式 访问任意数据,功能最强的迭代器

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值