#include<algorithm>

转载 2017年01月03日 15:39:54
#include<algorithm>:algorithm意为"算法",是C++的标准模版库(STL)中最重要的头文件之一,提供了大量基于迭代器的非成员模版函数。

非修改性序列操作(12个)

循环 对序列中的每个元素执行某操作 for_each()


查找 在序列中找出某个值的第一次出现的位置 find()     利用底层元素的等于操作符,对范围内的元素与输入的值进行比较。当匹配时,结束搜索,返回该元素的一个 InputIterator 。
在序列中找出符合某谓词的第一个元素 find_if()
在序列中找出一子序列的最后一次出现的位置 find_end()
在序列中找出第一次出现指定值集中之值的位置 find_first_of()
在序列中找出相邻的一对值 adjacent_find()


计数 在序列中统计某个值出现的次数 count()
在序列中统计与某谓词匹配的次数 count_if()


比较 找出两个序列相异的第一个元素 mismatch()
两个序列中的对应元素都相同时为真 equal()


搜索 在序列中找出一子序列的第一次出现的位置 search()
在序列中找出一值的连续n次出现的位置 search_n()




修改性序列操作(27个)


复制 从序列的第一个元素起进行复制 copy()
从序列的最后一个元素起进行复制 copy_backward()


交换 交换两个元素 swap()
交换指定范围的元素 swap_ranges()
交换由迭代器所指的两个元素 iter_swap()


变换 将某操作应用于指定范围的每个元素 transform()


替换 用一个给定值替换一些值 replace()
替换满足谓词的一些元素 replace_if()
复制序列时用一给定值替换元素 replace_copy()
复制序列时替换满足谓词的元素 replace_copy_if()


填充 用一给定值取代所有元素 fill()
用一给定值取代前n个元素 fill_n()


生成 用一操作的结果取代所有元素 generate()
用一操作的结果取代前n个元素 generate_n()


删除 删除具有给定值的元素 remove()
删除满足谓词的元素 remove_if()
复制序列时删除具有给定值的元素 remove_copy()
复制序列时删除满足谓词的元素 remove_copy_if()


唯一 删除相邻的重复元素 unique()
复制序列时删除相邻的重复元素 unique_copy()


反转 反转元素的次序 reverse()
复制序列时反转元素的次序 reverse_copy()


环移 循环移动元素 rotate()
复制序列时循环移动元素 rotate_copy()


随机 采用均匀分布来随机移动元素 random_shuffle()


划分 将满足某谓词的元素都放到前面 partition()
将满足某谓词的元素都放到前面并维持原顺序 stable_partition()




序列排序及相关操作(27个)


排序 以很好的平均效率排序 sort()
排序,并维持相同元素的原有顺序 stable_sort()
将序列的前一部分排好序 partial_sort()
复制的同时将序列的前一部分排好序 partial_sort_copy()


第n个元素 将第n各元素放到它的正确位置 nth_element()


二分检索 找到大于等于某值的第一次出现 lower_bound()
找到大于某值的第一次出现 upper_bound()
找到(在不破坏顺序的前提下)可插入给定值的最大范围 equal_range()
在有序序列中确定给定元素是否存在 binary_search()


归并 归并两个有序序列 merge()
归并两个接续的有序序列 inplace_merge()


有序结构上的集合操作 一序列为另一序列的子序列时为真 includes()
构造两个集合的有序并集 set_union()
构造两个集合的有序交集 set_intersection()
构造两个集合的有序差集 set_difference()
构造两个集合的有序对称差集(并-交) set_symmetric_difference()


堆操作 向堆中加入元素 push_heap()
从堆中弹出元素 pop_heap()
从序列构造堆 make_heap()
给堆排序 sort_heap()


最大和最小 两个值中较小的 min()
两个值中较大的 max()
序列中的最小元素 min_element()
序列中的最大元素 max_element()


词典比较 两个序列按字典序的第一个在前 lexicographical_compare()


排列生成器 按字典序的下一个排列 next_permutation()
按字典序的前一个排列 prev_permutation()


//======================================================================================================

相关文章推荐

#include <algorithm> 常用函数

accumlate : iterator 对标志的序列中的元素之和,加到一个由 init 指定的初始值上。重载的版本不再做加法,而是传进来的二元操作符被应用到元素上。 adjacent_dif...

#include <algorithm>中sort的一般用法

1、sort函数的时间复杂度为

#include<algorithm>里的函数

#include   非修改性序列操作(12个)   循环 对序列中的每个元素执行某操作 for_each() ...

#include<> 和 #include""的区别

#include< file >编译程序会先到标准函数库中找文件 #include”file” 编译程序会先从当前目录中找文件参考原文 转: 在C程序中包含文件有以下两种方法: (1)用...

#include命令, #include <>与#include ””的区别

#include 一种是在包含指令#include后面” #include ”” 另一种是在包含指令#include后用双引号””将头文件包括起来。这种方式常用与程序员自己...

C++中,关于#include<***.h>和#include"***.h"的区别

#include直接从编译器自带的函数库中寻找文件 #include""是先从自定义的文件中找 ,如果找不到在从函数库中寻找文件...

C语言中两种方式使用#include命令,#include <>与#include ””的区别是什么?

答:"#include ” 用于标准库文件或系统提供的头文件,到保存系统标准头文件的位置查找头文件。 而"#include "userdefined.h"用于用户自定义的头文件,先从当前目录查找是...

用<algorithm>头文件中的sort函数排序

注意:如果是用VC 6.0,不要改后缀为.c文件,只有在.cpp的情况下可以调用此头文件。 如果是DEV C++编译器,直接Ctrl+N快捷方式创建即可。 其他编译器我本人还不了解,不做赘述。 ...
  • JSY1997
  • JSY1997
  • 2017年03月11日 19:39
  • 302

c++-algorithm 头文件排序sort

想起来自己天天排序排序,冒泡啊,二分查找啊,结果在STL中就自带了排序函数sort,qsort,总算把自己解脱了~ 所以自己总结了一下,首先看sort函数见下表:     函...

<algorithm.h>中sort对结构体排序的用法

sort好用大家都知道的,废话不多说。 试过直接用数组,是会出现问题的,所以建议和容器一起用。 下面提供一种用法例子   #include #include #include #incl...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:#include<algorithm>
举报原因:
原因补充:

(最多只允许输入30个字)