C++ 参考手册
- C++11
- C++14
- C++17
- C++20
- C++ 编译器支持情况表
- 独立与宿主实现
- C++ 语言
- C++ 关键词
- 预处理器
- C++ 标准库头文件
- 标准库头文件 <ctime>
- 标准库头文件 <cstring>
- 标准库头文件 <set>
- 标准库头文件 <cctype>
- 标准库头文件 <cwctype>
- 标准库头文件 <utility>
- 标准库头文件 <queue>
- 标准库头文件 <complex>
- 标准库头文件 <iterator>
- 标准库头文件 <algorithm>
- 标准库头文件 <valarray>
- 标准库头文件 <numeric>
- 标准库头文件 <cmath>
- 标准库头文件 <iosfwd>
- 标准库头文件 <ios>
- 标准库头文件 <iomanip>
- 标准库头文件 <streambuf>
- 标准库头文件 <istream>
- 标准库头文件 <ostream>
- 标准库头文件 <iostream>
- 标准库头文件 <sstream>
- 标准库头文件 <clocale>
- 标准库头文件 <vector>
- 标准库头文件 <deque>
- 标准库头文件 <list>
- 标准库头文件 <map>
- 标准库头文件 <cwchar>
- 标准库头文件 <locale>
- 标准库头文件 <codecvt>
- 标准库头文件 <bitset>
- 标准库头文件 <functional>
- 标准库头文件 <stdexcept>
- 标准库头文件 <csignal>
- 标准库头文件 <csetjmp>
- 标准库头文件 <stack>
- 标准库头文件 <cassert>
- 标准库头文件 <cerrno>
- 标准库头文件 <memory>
- 标准库头文件 <typeindex>
- 标准库头文件 <type_traits>
- 标准库头文件 <chrono>
- 标准库头文件 <initializer_list>
- 标准库头文件 <tuple>
- 标准库头文件 <scoped_allocator>
- 标准库头文件 <cstdint>
- 标准库头文件 <cinttypes>
- 标准库头文件 <system_error>
- 标准库头文件 <cuchar>
- 标准库头文件 <array>
- 标准库头文件 <forward_list>
- 标准库头文件 <unordered_set>
- 标准库头文件 <unordered_map>
- 标准库头文件 <random>
- 标准库头文件 <ratio>
- 标准库头文件 <cfenv>
- 标准库头文件 <regex>
- 标准库头文件 <atomic>
- 标准库头文件 <thread>
- 标准库头文件 <mutex>
- 标准库头文件 <future>
- 标准库头文件 <condition_variable>
- 标准库头文件 <any>
- 标准库头文件 <optional>
- 标准库头文件 <variant>
- 标准库头文件 <memory_resource>
- 标准库头文件 <string_view>
- 标准库头文件 <charconv>
- 标准库头文件 <execution>
- 标准库头文件 <filesystem>
- 标准库头文件 <concepts>
- 标准库头文件 <coroutine>
- 标准库头文件 <compare>
- 标准库头文件 <version>
- 标准库头文件 <source_location>
- 标准库头文件 <format>
- 标准库头文件 <span>
- 标准库头文件 <ranges>
- 标准库头文件 <bit>
- 标准库头文件 <numbers>
- 标准库头文件 <syncstream>
- 标准库头文件 <stop_token>
- 标准库头文件 <semaphore>
- 标准库头文件 <latch>
- 标准库头文件 <barrier>
- 标准库头文件 <string>
- 标准库头文件 <cstddef>
- 标准库头文件 <limits>
- 标准库头文件 <cfloat>
- 标准库头文件 <climits>
- 标准库头文件 <cstdlib>
- 标准库头文件 <new>
- 标准库头文件 <typeinfo>
- 标准库头文件 <exception>
- 标准库头文件 <cstdarg>
- 标准库头文件 <ciso646>
- 标准库头文件 <cstdalign>
- 标准库头文件 <cstdbool>
- 标准库头文件 <fstream>
- 标准库头文件 <cstdio>
- 标准库头文件 <strstream>
- 标准库头文件 <shared_mutex>
- 标准库头文件 <ccomplex>
- 标准库头文件 <ctgmath>
- 注释
- 具名要求
- 功能特性测试 (C++20)
- 工具库
- 类型支持(基本类型、RTTI、类型特性)
- 概念库 (C++20)
- 错误处理
- 动态内存管理
- 日期和时间工具
- 字符串库
- 容器库
- 迭代器库
- 范围库 (C++20)
- 算法库
- 数值库
- 输入/输出库
- 文件系统库
- 本地化库
- 正则表达式库
- 原子操作库
- 线程支持库
- 实验性 C++ 特性
- 有用的资源
- 索引
- std 符号索引
- 协程支持 (C++20)
- C++ 关键词
位置:首页 > C++ 参考手册 >C++ 标准库头文件 > 标准库头文件 <algorithm>
标准库头文件 <algorithm>
此头文件是算法库的一部分。
函数
不修改序列的操作 | |
(C++11)(C++11)(C++11) |
检查谓词是否对范围中所有、任一或无元素为 true (函数模板) |
应用函数到范围中的元素 (函数模板) | |
(C++17) |
应用一个函数对象到序列的前 n 个元素 (函数模板) |
返回满足指定判别标准的元素数 (函数模板) | |
寻找两个范围出现不同的首个位置 (函数模板) | |
(C++11) |
寻找首个满足特定判别标准的元素 (函数模板) |
在特定范围中寻找最后出现的元素序列 (函数模板) | |
搜索元素集合中的任意元素 (函数模板) | |
查找首对相邻的相同(或满足给定谓词的)元素 (函数模板) | |
搜索一个元素范围 (函数模板) | |
在范围中搜索一定量的某个元素的连续副本 (函数模板) | |
修改序列的操作 | |
(C++11) |
将某一范围的元素复制到一个新的位置 (函数模板) |
(C++11) |
将一定数目的元素复制到一个新的位置 (函数模板) |
按从后往前的顺序复制一个范围内的元素 (函数模板) | |
(C++11) |
将某一范围的元素移动到一个新的位置 (函数模板) |
(C++11) |
按从后往前的顺序移动某一范围的元素到新的位置 (函数模板) |
将一个给定值复制赋值给一个范围内的每个元素 (函数模板) | |
将一个给定值复制赋值给一个范围内的 N 个元素 (函数模板) | |
将一个函数应用于某一范围的各个元素,并在目标范围存储结果 (函数模板) | |
将相继的函数调用结果赋值给一个范围中的每个元素 (函数模板) | |
将相继的函数调用结果赋值给一个范围中的 N 个元素 (函数模板) | |
移除满足特定判别标准的元素 (函数模板) | |
复制一个范围的元素,忽略满足特定判别标准的元素 (函数模板) | |
将所有满足特定判别标准的值替换为另一个值 (函数模板) | |
复制一个范围内的元素,并将满足特定判别标准的元素替换为另一个值 (函数模板) | |
交换两个对象的值 (函数模板) | |
交换两个范围的元素 (函数模板) | |
交换两个迭代器所指向的元素 (函数模板) | |
逆转范围中的元素顺序 (函数模板) | |
创建一个范围的逆向副本 (函数模板) | |
旋转范围中的元素顺序 (函数模板) | |
复制并旋转元素范围 (函数模板) | |
(C++20) |
迁移范围中的元素 (函数模板) |
(C++17 前)(C++11) |
随机重排范围中的元素 (函数模板) |
(C++17) |
从一个序列中随机选择 n 个元素 (函数模板) |
移除范围内的连续重复元素 (函数模板) | |
创建某范围的不含连续重复元素的副本 (函数模板) | |
划分操作 | |
(C++11) |
判断范围是否已按给定的谓词划分 (函数模板) |
将范围中的元素分为两组 (函数模板) | |
(C++11) |
复制一个范围,将各元素分为两组 (函数模板) |
将元素分为两组,同时保留其相对顺序 (函数模板) | |
(C++11) |
定位已划分范围的划分点 (函数模板) |
排序操作 | |
(C++11) |
检查范围是否已按升序排列 (函数模板) |
(C++11) |
找出最大的已排序子范围 (函数模板) |
将范围按升序排序 (函数模板) | |
排序一个范围的前 N 个元素 (函数模板) | |
对范围内的元素进行复制并部分排序 (函数模板) | |
将范围内的元素排序,同时保持相等的元素之间的顺序 (函数模板) | |
将给定的范围部分排序,确保其按给定元素划分 (函数模板) | |
(已排序范围上的)二分搜索操作 | |
返回指向第一个不小于给定值的元素的迭代器 (函数模板) | |
返回指向第一个大于给定值的元素的迭代器 (函数模板) | |
确定元素是否存在于某范围中 (函数模板) | |
返回匹配特定键值的元素范围 (函数模板) | |
其他已排序范围上的操作 | |
归并两个已排序的范围 (函数模板) | |
就地归并两个有序范围 (函数模板) | |
(已排序范围上的)集合操作 | |
若一个集合是另一个的子集则返回 true (函数模板) | |
计算两个集合的差集 (函数模板) | |
计算两个集合的交集 (函数模板) | |
计算两个集合的对称差 (函数模板) | |
计算两个集合的并集 (函数模板) | |
堆操作 | |
检查给定范围是否为一个最大堆 (函数模板) | |
(C++11) |
查找能成为最大堆的最大子范围 (函数模板) |
从一个元素范围创建出一个最大堆 (函数模板) | |
将一个元素加入到一个最大堆 (函数模板) | |
从最大堆中移除最大元素 (函数模板) | |
将一个最大堆变成一个按升序排序的元素范围 (函数模板) | |
最小/最大操作 | |
返回各给定值中的较大者 (函数模板) | |
返回范围内的最大元素 (函数模板) | |
返回各给定值中的较小者 (函数模板) | |
返回范围内的最小元素 (函数模板) | |
(C++11) |
返回两个元素的较小和较大者 (函数模板) |
(C++11) |
返回范围内的最小元素和最大元素 (函数模板) |
(C++17) |
在一对边界值间夹逼一个值 (函数模板) |
比较操作 | |
确定两个元素集合是否是相同的 (函数模板) | |
当一个范围按字典顺序小于另一个范围时,返回 true (函数模板) | |
用三路比较比较两个范围 (函数模板) | |
排列操作 | |
(C++11) |
判断一个序列是否为另一个序列的排列 (函数模板) |
产生某个元素范围的按字典顺序的下一个较大的排列 (函数模板) | |
产生某个元素范围的按字典顺序的下一个较小的排列 (函数模板) |