C++ Primer 5th笔记(chap 10)泛型算法 :特定容器算法list
list容器结合自己的结构专门实现了更为高效的算法
操作 | 定义 | 附注 |
---|---|---|
lst.merga(lst2) | 将来自lst2的元素合并入lst。lst和lst2都必须是有序的。元素将从lst2中删除。在合并之后,lst2变成空。 | 使用<运算符 |
lst.megra(lst2,comp) | 同上 | 使用给定的比较操作 |
lst.remove(val) | 调用erase删除掉 | 与给定值相等(==) |
lst.remove_if(pred) | 同上 | 令一元谓词为真的每个元素 |
lst.reverse() | 反转lst中元素的顺序 | |
lst.sort() | ||
lst.sort(comp) | 使用<或给定比较操作排序元素 | |
lst.unique() | 调用erase删除同一个值的连续拷贝 | 使用== |
lst.unique(pred) | 同上 | 使用给定的二元谓词 |
lst.splice(it, lst2) | 将lst2的元素移到lst中迭代器it所指向的元素前面。在lst2中删除移出的元素 | 将lst2的所有元素移到lst中,合并后,lst2为空。lst和lst2不能是同一个list对象 |
lst.splice(it, lst2, it2) | 同上 | 只移动it2所指向的元素,这个元素必须是lst2的元素。在这种情况下,lst和lst2可以是同一list对象 |
lst.splice(it, beg, end) | 同上 | 移动迭代器beg和end标记的范围内的元素。这两个可以标记任意list对象的范围,包括lst。当它们指定lst的一段范围时,如果it也指向这个范围内的一个元素,则该操作未定义。 |
C++ Primer 5th笔记(chap 10)泛型算法 :特定容器算法list相关推荐
- C++ Primer 5th笔记(10)chapter10 泛型算法 :泛型算法结构
名称 定义 输入迭代器 只读,不写:单遍扫描,只能递增 输出迭代器 只写,不读:单遍扫描,只能递增 前向迭代器 可读写,多遍扫描,只能递增 双向迭代器 可读写,多遍扫描,可递增递减 随机访问迭代器 可 ...
- C++ Primer 5th笔记(10)chapter10 泛型算法 :迭代器
迭代器类别 名称 定义 插入迭代器 这些迭代器被绑定到一个容器上,可用来向容器插入元素 流迭代器 这些迭代器被绑定到输入或输出流上,可用来遍历所有关联的IO流 反向迭代器 这些迭代器向后而不是向前移动 ...
- C++ Primer 5th笔记(10)chapter10 泛型算法 :write
1. fill: 对给定区间全部赋予某值(algorithm.h) 将指定范围内的每个元素都设定为给定的值.如果输入范围有效,则可以安全写入.这个算法只会对输入范围内已存在的元素进行写入操作. tem ...
- C++ Primer 5th笔记(10)chapter10 泛型算法 : read
标准库提供一组不依赖特定的容器类型的共性算法 指定迭代器范围, eg. [begin, end)这种左闭包 3种类型: 只读.写.sort 1. find 查询 template<class I ...
- C++ Primer 5th笔记(10)chapter10 泛型算法 :谓词
1. 定义 谓词(predicate)是一个可调用的表达式,返回结果是一个能用作条件的值. 用于一个对象或一个表达式,如果可以对其使用调用运算符,则称为可调用的: 可调用的对象有:函数.函数指针.重载 ...
- C++ Primer 5th笔记(10)chapter10 泛型算法 :bind
1. 定义 一个函数适配器,接受一个函数调用,增加或更改参数传递给另外一个函数调用. 比如 auto newCallable=bind(callable, arg_list); newCallable ...
- C++ Primer 5th笔记(10)chapter10 泛型算法 :lambda
1. 定义 lambda表达式表示一个可调用的代码单元. 一个lambda具有捕获列表.参数列表,返回类型,函数体: [capture list](parameter list)->return ...
- C++ Primer 5th笔记(9)chapter9 顺序容器 string
1. string构造 string s; 定义一个新的空string对象,命名为s string s(cp); 定义一个新的string对象,用cp所指向的(以空字符null结束的)C风格字符串初始 ...
- C++ Primer 5th笔记(9)chapter9 顺序容器 构造和赋值
1. 容器对象的构造和赋值 1.1 构造 C c; C c; //默认构造函数 C c1(c2) C c1=c2; C c{a,b,c,-} C c={a,b,c,-} C c(b,e)//eg. l ...
- C++ Primer 5th笔记(9)chapter9 顺序容器 vector 容器的自增长 容器适配器
1. vector 容器的自增长:当插入元素当存储空间不足时,vector 必须重新分配存储空间(比如将新空间大小增加为当前大小的2倍) 管理容量的成员函数 操作 定义 c.shrink_to_fit ...
最新文章
- eeglab教程系列(4)-绘制通道光谱图
- hdoj5317【素数预处理】
- 利用Excel进行成对(配对)T检验
- 长文解析:作为容器底层技术的半壁江山, cgroup如何突破并发创建瓶颈?
- 【Python爬虫】Python3+selenium环境配置
- 矩阵广义逆求解(QR、svd、LU)
- MySQL数据库 -- Navicat、pycharm连接数据库
- .NET中过滤TextBox中输入的html标签
- java调python代码_java调用python代码
- Spring Cloud 关于 hystrix 的异常 fallback method wasn't found
- [原]Jenkins(二十一) jenkins再出发Build periodically和Poll SCM
- android图片根据屏幕适配
- 递归下降分析程序的设计和实现
- 一种特殊的魔方阵解法
- thinkphp对接支付宝的当面付
- 山东新高考604分怎么报计算机专业,山东2017高考604分适合报考哪些211学校
- Orcale 批量更新sql
- Python数据可视化 - 直方图hist ≠ 条形图bar ( pandas与hist快速作图 )
- flutter 微信语言选择_#Flutter项目(3)之仿写微信通讯录界面
- 从零开始的Wordpress个人网站搭建(图文)
热门文章
- mysql5.7rpm安装 force_mysql5.7.27离线安装(基于centos7 ,通过rpm安装)
- 100路监控摄像头需要使用核心交换机吗?
- 剑三 计算机中丢失,剑网3指尖江湖:剑侠情缘中“丢失”的几年,竟在腾讯游戏被找到...
- 虚拟机备份oracle异常,客户端连接虚拟机Oracle服务器异常
- 卡巴斯基授权许可文件_安全许可证的申请流程有哪些?
- 晶体封装越小esr越大_晶体谐振器等效电路,负载谐振电阻,负载电容,品质因数...
- 成功解决AttributeError: ‘DataFrame‘ object has no attribute ‘tolist‘
- CV:计算机视觉技术之图像基础知识—以python的cv2库来了解计算机视觉图像基础
- CV之face_recognition:Py之face_recognition库安装、介绍、使用方法详细攻略
- Py之argparse:Python库之argparse(命令行解析)简介、安装、使用方法之详细攻略