C++ STL笔记

太过爱你忘了你带给我的痛 2022-06-04 10:05 279阅读 0赞

STL 标准模板库

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

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

容器 迭代器 算法

容器:

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

迭代器:

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

算法:

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

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

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

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

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

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

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

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

发表评论

表情:
评论列表 (有 0 条评论,279人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C++学习笔记11 STL list

    STL list 双向链表 list就是双向链表,元素也是在堆中存放,每个元素都是放在一块内存中,它的内存空间可以是不连续的,通过指针来进行数据的访问。 这个特点使得它

    相关 c++ STL笔记2

    vector 头文件< vector> 自动调节长短的数组 动态数组!!!。动态增容 元素在内存连续存放。 随机存取任何元素都能在常数时间

    相关 C++ STL笔记

    STL 标准模板库 简单地说就是使用模板的程序设计法。 将一些常用的数据结构(比如链表,数组,二叉树)和算法(比如排序,查找)写成模板,以后则不论数据结构里放的是什么

    相关 C++ STL笔记

    C++ STL组件 STL提供三种类型的组件:容器,迭代器和算法。 1. 容器有两类,分为顺序容器,关联容器。顺序容器:Vector,list,deq