C++标准库algorithm
(1) 基本数学相关:
max(t1, t2)和min(t1, t2), 返回t1和t2中的较大、较小者。
max_element(b, e)和min_element(b, e), 返回两个迭代器所指定容器的最大、最小者。
accumulate(b, e, t, f[,f]), 对b与e之间的每个迭代器,进行f运算并赋值给t。
(2)比较:
equal(b, e, b2, [,p]), 返回一个布尔值,判断两个序列中的元素是否相等。
lexicographical_compare(b, e, b2, e2, [,p]), 返回一个布尔值,进行两个序列的比较,默认使用<关系符。
(3)copy与remove相关:
copy(b, e, d), 将由输出迭代器b和e界定的序列中的值复制到由迭代器d指定的目标容器中,返回一个值指向目标容器末后面的元素。
remove(b, e, t)和remove_if(b, e, p), 排列容器以使得在[b, e)中使谓词p为真或等于值t的元素位于这个域的尾部,返回一个迭代器,该迭代器指示了位于不被“删除”的元素之后的那个位置。可以与erase函数配合使用,如students.erase(remove_if(students.begin(), students.end(), fail_grade), students.end())得到及格的学生向量。
remove_copy(b, e, d, t) 和remove_copy(b, e, d, p), 与remove类似,不同的是,不改变[b,e), 将使谓词p为真或等关于值t的元素复制到由迭代器d指定的目标容器中。
replace(b, e, t1, t2)和replace_copy(b, e, d, t1, t2), 将容器[b, e)中的所有等于t1的元素替换为t2, replace_copy不改变源容器,将替换后的序列复制到目标容器并返回end()。
reverse(b, e)和reverse_copy(b, e, d), 将容器[b, e)中的所有元素倒序排列, reverse_copy不改变源容器,将替换后的序列复制到目标容器并返回end()。
unique(b, e)和unique_copy(b, e, d), 将容器[b, e)中的所有重复元素去除, unique_copy不改变源容器,将替换后的序列复制到目标容器并返回end()。
(4)查找与排序:
binary_search(b, e, t), 返回一个布尔值,表示值t是否在容器[b,e)中。
find(b, e, t)和find_if(b, e, p), 返回一个迭代器,指向一个序列中首次出现t值或满足p表达式的元素。
search(b, e, b2, e2, [,p]), 在[b,e)容器中查找子序列[b2,e2),返回第一个匹配的子序列首元素的正向迭代器。
sort(b, e, [,p])和stable_sort(b, e, [,p]),对容器[b, e)中的元素进行排序,stable_sort是稳定排序,对相等的各元素保持原来的顺序。
(5)其他:
fill(b, e, t), 将由迭代器b,e界定的容器填充值t,返回void类型。
partition(b, e, p)和stable_partition(b, e, p), 将容器[b, e)分为两部分,使谓词p为真的元素在前,返回第一个不满足谓词p的元素的迭代器。stable_partition使两部分的元素保持原来在容器中的先后顺序。
transform(b, e, [,b2], d, f]), f函数以b和e界定的序列和以b2指向的等长序列为参数,生成的结果序列储存到由输出迭代器d指定的目标容器中。
C++标准库algorithm的更多相关文章
- 【转】C++标准库和标准模板库
C++强大的功能来源于其丰富的类库及库函数资源.C++标准库的内容总共在50个标准头文件中定义.在C++开发中,要尽可能地利用标准库完成.这样做的直接好处包括:(1)成本:已经作为标准提供,何苦再花费 ...
- c++标准库和stl关系
C++标准库的所有头文件都没有扩展名.C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能. <cname>形式的标准头文件[ <complex>例外]其 ...
- STL笔记(6)标准库:标准库中的排序算法
STL笔记(6)标准库:标准库中的排序算法 标准库:标准库中的排序算法The Standard Librarian: Sorting in the Standard Library Matthew A ...
- C++标准库概述 [转]
C++标准库的所有头文件都没有扩展名. C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能.<cname>形式的标准头文件[<complex>例外]其内 ...
- C++标准库开发心得
最近放弃MFC,改用C++标准库开发产品.毕竟MFC用熟了,马上改用STL还不太习惯.下面列出下总结的改用STL遇到的问题和解决办法: 1.清除空格 remove_if(iterBegin, iter ...
- 什么是C++标准库?
C++中的标准程序库(简称标准库)是类库和函数的集合,其使用核心语言写成.标准程序库提供若干泛型容器.函数对象.泛型字符串和流(包含交互和文件I/O),支持部分语言特性和常用的函数,如开平方根.C++ ...
- [C/C++标准库]_[0基础]_[交集和补集]
场景: 1. 计算std::vector A和 std::vector B里的同样的元素, 用于保留不删除. 2. 计算std::vector A和 std::vector B里各自的补集, 用于删除 ...
- C++标准库和标准模板库
转自原文http://blog.csdn.net/sxhelijian/article/details/7552499 C++强大的功能来源于其丰富的类库及库函数资源.C++标准库的内容总共在50个标 ...
- Boost程序库完全开发指南——深入C++“准”标准库(第3版)
内容简介 · · · · · · Boost 是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库,有着“C++‘准’标准库”的美誉. Boost 由C++标准委员会部分成员所设立的Bo ...
随机推荐
- CF1119A Ilya and a Colorful Walk
题目地址:CF1119A Ilya and a Colorful Walk \(O(n^2)\) 肯定过不掉 记 \(p_i\) 为从下标 \(1\) 开始连续出现 \(i\) 的个数 那么对于每一个 ...
- C语言官网蓝桥杯训练1115DNA
这道题是比较简单的输出字符图形的题,但是有几个坑还是要注意下. 1.题中所述的X是大写的,不要看成小写了.(我就错了好几次) 2.每一行输出最后的X后不能在输出空格. 3.输出两个DNA中间有一个空行 ...
- 肺结节CT影像特征提取(三)——肺结节CT影像特征提取系统软件设计
肺结节的特征提取在临床中有着重要应用,在上篇文章已经对肺结节的基本特征和CT影像特征提取算法有了介绍,提出了三类肺结节CT影像特征提取算法.本文重点介绍肺结节CT影像特征提取系统的功能介绍及使用,利用 ...
- GNU MAKE参考文档
1.GNU MAKE翻译 https://blog.csdn.net/xiejinfeng850414/article/details/8625468 2.Linux Makefile 生成 *.d ...
- Redis和memcahce的区别【转】
先给大家讲一个基本知识点:数据库分类大致分为两类,关系型数据库和非关系型数据库.如果详细区分的话,还可以继续分下去. Redis不仅仅是缓存数据库 面试的时候,很多人会问,Redis和memcahce ...
- windows配置openssl
下载openssl并安装,下载地址:http://slproweb.com/products/Win32OpenSSL.html 假设安装路径为C:\"Program Files" ...
- CKEditor5 + vue2.0 自定义图片上传、highlight、字体等用法
因业务需求,要在 vue2.0 的项目里使用富文本编辑器,经过调研多个编辑器,CKEditor5 支持 vue,遂采用.因 CKEditor5 文档比较少,此处记录下引用和一些基本用法. CKEdit ...
- 十.nginx反向代理负载均衡服务实践部署
期中集群架构-第十章-nginx反向代理负载均衡章节章节====================================================================== 0 ...
- nl命令
nl (Number of Lines) 将指定的文件添加行号标注后写到标准输出.如果不指定文件或指定文件为"-" ,程序将从标准输入读取数据. 选项: -b, --body-nu ...
- css中的宽度
浏览器通过CSS对元素的盒子模型的描述进行页面渲染的.因此,元素的宽度受到父元素.css描述的影响. 通常,元素的宽度是指盒子模型中content-box所占用的宽度.也就是说,默认box-sizin ...