C++ STL笔记

STL 标准模板库

简单地说就是使用模板的程序设计法。
将一些常用的数据结构(比如链表,数组,二叉树)和算法(比如排序,查找)写成模板,以后则不论数据结构里放的是什么对象,算法针对什么样的对象,则都不必重新实现数据结构,重新编写算法。

标准模板库(Standard Template Library) 就是一些常用数据结构和算法的模板的集合。

容器 迭代器 算法

容器:

可 容纳各种 数据类型 的通用数据结构,是类模板

迭代器:

可用于依次 存取 容器中元素,类似于指针

算法:

用来 操作容器中的元素的 函数模板

算法本身与他们操作的数据的类型无关 — 函数模板 就是这样
因此他们可以在从简单数组到高度复杂容器的任何数据结构上使用
简单的数组也是一种容器

容器:
可以用于存放各种类型的数据(基本类型的变量,
对象等)的数据结构,都是类模版

1)顺序容器
vector动态数组一维,deque双向队列,list双向链表

2)关联容器 排序的
set,multiset,map,multimap

3)容器适配器查找速度很快 适配器:接口转换器
stack栈,queue队列,priority_queue优先级队列

对象被插入容器中时,被插入的是对象的一个 复制品。许多算法,比如排序,查找,要求对容器中的元素进行比较,有的容器本身就是排序的,所以,放入容器的对象所属的类,往往还应该 重载== 和<运算符。

容器并非排序的,元素的插入位置同元素的值无关。
有vector,deque,list三种

全部评论

相关推荐

昨天 11:18
门头沟学院 Java
作者先叠个甲:本人双非本,秋招拿到了多个大厂offer,这个过程也不容易,但是在看到很多秋招胜利之后说自己一路有多艰辛的文章,总感觉有一点不对劲,想了很久打算写一篇文章分析一下,本文仅代表作者观点,不认同的可以在评论区大家一起理性讨论。&nbsp;秋招已经结束,各类社交平台出现一大批“大厂上岸”胜利结算。文章的叙事逻辑高度相同,开篇就渲染焦虑和困惑,学习时的挑灯夜读、投递时的屡屡碰壁、面试时的如履薄冰,将过往经历包装成一步艰辛的“奋斗史”,然后最终以大厂offer的胜利结尾,字里行间全是苦尽甘来的优越感。但是在我看来,这类文章的本质是结果导向的、带有浮夸的叙事,因为其内核不是分享经验,而是借“苦难”之名...
创作小队长:你的批判视角非常犀利,尤其“结果决定叙事权”的洞察非常精准,哈哈想邀请你来成为我们的创作者🫰 但我想补充一个视角:许多分享者的初衷并非炫耀结果或者苦难,我更愿意相信他们在这个过程中付出了很多,在这场战役结束后,他们迫不及待地想被看到,记录和分享都是给自己的一个交代,而非真的教会别人什么,他们的初衷未必是想制造焦虑。求职市场的残酷、经济环境的下行、世俗价值观才是这种叙事流行的土壤,作为一个普通人无法抵抗洪流。 感谢你发起这场讨论。理想的社区,既需要这样锐利的批判来保持清醒,你的洞察非常犀利,也许会启发一些人,能逐渐改变这种叙事~
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务