STL初识

张开发
2026/4/10 9:49:53 15 分钟阅读

分享文章

STL初识
1. STL的诞生● 长久以来软件界一直希望建立一种可重复利用的东西● C的面向对象和泛型编程思想目的就是复用性的提升● 大多情况下数据结构和算法都未能有一套标准导致被迫从事大基重复工作● 为了建立数据结构和算法的一套标准诞生了STL2. STL基本概念● STL(Standard Template Library标准模板库)● STL从广义上分为容器(container) 算法(algorithm) 迭代器(iterator)● 容器和算法之间通过迭代器进行无缝连接。● STL几乎所有的代码都采用了模板类或者模板函数3. STL六大组件STL大体分为六大组件分别是容器、算法、迭代器、仿函数、适配器(配接器)、空间配置器1.容器各种数据结构如vector、list、deque、set、map等用来存放数据。2.算法各种常用的算法如sort、find、copy、for_each等3.迭代器扮演了容器与算法之间的胶合剂。4.仿函数行为类似函数可作为算法的某种策略。5.适配器一种用来修饰容器或者仿函数或迭代器接口的东西。6.空间配置器负责空间的配置与管理。4. STL中容器、算法、迭代器容器置物之所也STL容器就是将运用最广泛的一些数据结构实现出来。常用的数据结构数组链表树栈队列集合映射表 等这些容器分为序列式容器和关联式容器两种序列式容器强调值的排序序列式容器中的每个元素均有固定的位置。关联式容器二叉树结构各元素之间没有严格的物理上的顺序关系。算法问题之解法也有限的步骤解决逻辑或数学上的问题这一门学科我们叫做算法(Algorithms)算法分为质变算法和非质变算法。质变算是指运算过程中会更改区间内的元素的内容。例如拷贝替换删除等等非质变算法是指运算过程中不会更改区间内的元素内容例如查找、计数、遍历、寻找极值 等等迭代器容器和算法之间粘合剂提供一种方法使之能够依序寻访某个容器所含的各个元素而又无需暴露该容器的内部表示方式。每个容器都有自己专属的迭代器迭代器使用非常类似于指针初学阶段我们可以先理解迭代器为指针5. 容器算法迭代器初识了解STL中容器、算法、迭代器概念之后我们利用代码感受STL的魅力STL中最常用的容器为Vector可以理解为数组下面我们将学习如何向这个容器中插入数据、并遍历这个容器5.1 vector存放内置数据类型容器:vector算法:for_each迭代器:vectorint :: iterator5.2 vector存放自定义数据类型学习目标vector中存放自定义数据类型并打印输出5.3 vector容器嵌套容器学习目标容器中嵌套容器我们将所有数据进行遍历输出

更多文章