查找算法

adjacent_find:找出一个串中第一个不符合次序的地方
find,find_if:找出第一个符合条件的元素
find_first_of:在一个串中寻找第一个与另一个串中任意一个元素相等的元素
search_n:在一个串中寻找一个元素第n次出现的地方
count,count_if:一个串中符合条件的元素个数

mismatch:找出两个串第一个不相等的地方
equal:判断两个串的指定部分是否完全相等
lexicographical_compare,lexicographical_compare_3way:按词典顺序比较字符串

search:在一个串中寻找一个子串第一次出现的位置
find_end:寻找一个子串最后一次出现的地方

binary_search,lower_bound,upper_bound,equal_range:在已排序的串中进行二分法搜索

min,max:比较两个数,返回数值
min_element,max_element:寻找指定范围内的最值

改变内容的算法

copy,copy_n:从指定位置开始复制数据
copy_backward:指定目标的结尾进行复制
swap:交换两个容器内容
iter_swap:交换两个指针指向内容
swap_range:交换指定范围内的内容
transform:把元素逐个进行一元或二元运算结果放在新的容器
fill,fill_n:往容器的一定范围内填入相同元素
generate,generate_n:往容器的一定范围内填入指定的无参函数(如rand)的返回值
replace,replace_if,replace_copy,replace_copy_if:替换符合条件的元素
remove,remove_if,remove_copy,remove_copy_if:删除符合条件的元素
unique,unique_copy:除去相邻的相同元素
reverse,reverse_copy:反转指定范围的内容
rotate,rotate_copy:循环排列指定范围的内容
random_shuffle:随机重排指定范围的内容
next_permutation,prev_permutation:按下一种或上一种排列方式排列指定范围的内容(一共有N!种排列方式)
random_sample,random_sample_n:对指定范围的内容进行随机抽样
partition,stable_partition:把指定范围内元素按指定区分法则分成两部分

排序算法

sort:快速排序
stable_sort:稳定排序
partial_sort,partial_sort_copy:只排出最大(或最小)的前几位
nth_element:快速排序的一轮
merge,inplace_merge:归并排序的一轮
is_sorted:判断是否已排序

make_heap:生成堆
pop_heap:取出最大元素并重建堆
push_heap:往堆中添加最后一个元素并重建堆
sort_heap:堆排序
is_heap:判断是否是堆

集合运算的算法(使用时应保证容器已排序)

includes:一个已排序集合是否含于另一个
set_union:取两个已排序集合的并集
set_inter:取两个已排序集合的交集
set_difference:一个已排序集合中不存在于另一个集合中的元素构成的集合
set_symmetric_difference:取两个已排序集合的异或

特定算法

itoa:把从指定值递增1的数列填入数组
accumulate:累加求总和
inner_product:求两个向量的内积
partial_sum:逐限累加成新数组
adjacent_difference:逐限求差成新数组
power:对一个数累乘或累次执行一个操作

STL函数模板(即算法)一览的更多相关文章

  1. C++STL - 函数模板

    模板主要是为了泛型编程,做到与类型无关 模板有函数模板和类模板,本文主要整理的是函数模板 1.函数模板定义 template<typename 类型形参1,typename 类型形参2,...& ...

  2. 有一个问题关于stl函数中的算法问题

    是不是stl中的算法函数中参数只要是和函数相关的就是函数对象和谓词?

  3. 仿stl+函数模板

    #include<iostream> using namespace std; template<class T> void output(T begin, T end) { ...

  4. c++函数模板---3

    原创博客:转载请标明出处:http://www.cnblogs.com/zxouxuewei/ 模板从大体上,可以分为两种:函数模板和类模板.函数模板是算法库的基础,类模板是建立标准库容器和迭代器的基 ...

  5. C++程序设计方法4:函数模板

    函数模板 有些算法与类型无关,所以可以将函数的参数类型也定义为一种特殊的“参数”,这样就得到“函数模板” 定义函数模板的方法:template<typename T> 返回类型 函数名称( ...

  6. C++ 初识函数模板

    1. 前言 什么是函数模板? 理解什么是函数模板,须先搞清楚为什么需要函数模板. 如果现在有一个需求,要求编写一个求 2 个数字中最小数字的函数,这 2 个数字可以是 int类型,可以是 float ...

  7. STL(标准模板库)理论基础,容器,迭代器,算法

    基本概念 STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称.现然主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间.   ...

  8. STL区间成员函数及区间算法总结

    STL区间成员函数及区间算法总结 在这里总结下可替代循环的区间成员函数和区间算法: 相比单元素遍历操作,使用区间成员函数的优势在于: 1)更少的函数调用 2)更少的元素移动 3)更少的内存分配 在区间 ...

  9. 分治算法(二分查找)、STL函数库的应用第五弹——二分函数

    分治算法:二分查找!昨天刚说不写算法了,但是突然想起来没写过分治算法的博客,所以强迫症的我…… STL函数库第五弹——二分函数lower_bound().upper_bound().binary_se ...

随机推荐

  1. android的入门学习

    android 入门学习. 活动:就是一个包含应用程序的用户界面的窗口.目的就是与用户交互. 意图:就是能够将来自不同应用程序的不同活动无缝连接在一起工作的"胶水",确保这些任务执 ...

  2. UE4 将本地图片转成UTexture2D 在runtime显示

    UFUNCTION(BlueprintCallable, Category = "TextureFromDisk") static class UTexture2D* GetTex ...

  3. WordPress 主题开发 - (五)WordPress 主题模板及目录结构 待翻译

    While the most minimal of WordPress Themes really only need an index.php template and a style.css fi ...

  4. res/raw文件的存放和读取

    通常,如果Android开发者有些文件比如音频,视频,.html,.mp3等等这些文件不希望编译器编译而保持原始原貌打包进apk文件(这在游戏开发中很常见和普遍,如游戏用到的游戏音乐.图等资源),那么 ...

  5. SSH时不需输入密码

      我这里有2台机器,一台装了Teradata数据库,ip是192.168.184.128,称它为teradata-pc:另一台装了Oracle数据库,ip地址是192.168.184.129,称它为 ...

  6. Swiper简单入门

    背景需求 给业务部分在m站实现一个邀请函的h5页面,基本流程:1.会议主题,2邀请函内容,3会议安排,4会议网络资源二维码,5酒店安排 技术分析 将ppt搬到h5上,每一页要用帧显示(这个没有用过). ...

  7. C# Socket连接请求超时机制

    作者:RazanPaul 译者:Todd Wei 原文:http://www.codeproject.com/KB/IP/TimeOutSocket.aspx 介绍 您可能注意到了,.Net的Syst ...

  8. 【iOS】屏幕旋转,屏幕自适应方向变化

    1. iOS有四个方向的旋转,为了保证自己的代码能够支持旋转,我们必须首先处理一个函数: - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInter ...

  9. ios按钮点击后翻转效果

    代码是网上找到的,不过找到的时候直接复制下来不能用,稍微整理下,为和我一样水平的菜鸟观摩一下下. (1)引入“QuartzCore.framework”库,头部引用. #include<Quar ...

  10. Spring中后台字符串国际化

    1.在工程的资源文件夹(source folder)中建立三个properties文件:messages.properties(默认).messages_zh_CN.properties(中文).me ...