[书摘]c/c++中的一些算法
2009-07-06 16:34
183 查看
算法:除非是特别说明,否则以下的算法都是在<algorithm>中定义的:
accumulate(b,e,t):把区间[b,e)中的元素的总和加上t之后存储在t中。是在<numeric>中定义的。
find(b,e,t) find_if(b,e,p) search(b,e,b2,e2):在序列[b,e)中查找一个特定值的算法。算法find查找值t; find_if算法根据谓词p来检查每一个元素; 算法search查找由[b2,e2)所指示的序列。
copy(b,e,d) remove_copy(b,e,d,t) remove_copy_if(b,e,d,p):这些算法把[b,e)所指示的序列复制到由d指示的目的地中。算法copy复制了整个序列;remove_copy复制了所有不等于t的元素;remove_copy_if则复制了所有使谓词p为假的元素。
remove_if(b,e,p):排列容器以使在区间[b,e)中使谓词p为假的元素位于这个域的头部。返回一个迭代器,这个迭代器指示了位于那些不被“删除”的元素之后的那个位置。
remove(b,e,t):作用与remove_if一样,但是检测了哪些元素不等于值t。
transform(b,e,d,f):根据域[b,e)中的元素运行函数f,把f的结果存储在d中。
partition(b,e,p) stable_partition(b,e,p):以谓词p为基础从而划分在域[b,e)中的元素以使那些使谓词为真的元素处于容器头部。返回一个迭代器,这个迭代器指示了第一个令谓词为假的元素。或者,如果对所有的元素谓词都是true,那么就返回e。stable_partition会让在每一个区域内的元素的输入顺序保持不变。
摘自《Accelerated C++》
accumulate(b,e,t):把区间[b,e)中的元素的总和加上t之后存储在t中。是在<numeric>中定义的。
find(b,e,t) find_if(b,e,p) search(b,e,b2,e2):在序列[b,e)中查找一个特定值的算法。算法find查找值t; find_if算法根据谓词p来检查每一个元素; 算法search查找由[b2,e2)所指示的序列。
copy(b,e,d) remove_copy(b,e,d,t) remove_copy_if(b,e,d,p):这些算法把[b,e)所指示的序列复制到由d指示的目的地中。算法copy复制了整个序列;remove_copy复制了所有不等于t的元素;remove_copy_if则复制了所有使谓词p为假的元素。
remove_if(b,e,p):排列容器以使在区间[b,e)中使谓词p为假的元素位于这个域的头部。返回一个迭代器,这个迭代器指示了位于那些不被“删除”的元素之后的那个位置。
remove(b,e,t):作用与remove_if一样,但是检测了哪些元素不等于值t。
transform(b,e,d,f):根据域[b,e)中的元素运行函数f,把f的结果存储在d中。
partition(b,e,p) stable_partition(b,e,p):以谓词p为基础从而划分在域[b,e)中的元素以使那些使谓词为真的元素处于容器头部。返回一个迭代器,这个迭代器指示了第一个令谓词为假的元素。或者,如果对所有的元素谓词都是true,那么就返回e。stable_partition会让在每一个区域内的元素的输入顺序保持不变。
摘自《Accelerated C++》
相关文章推荐
- [书摘]c/c++中的一些算法
- C/C++一些比较有意思的算法
- C++ 一些基本算法练习
- 关于算法第四版里面的一些算法的C++代码(一部分呢),欧几里得算法(最大公约数)
- 一些C/C++的算法小程序
- C++ STL 算法 --- 你可能不知道的一些用法
- 一些算法的代码练习(c++实现,编译环境xcode)
- C++ STL相关的一些算法
- Boyer Moore 算法的C++实现以及一些独特的感受
- 【分享】一些经典的C/C++语言基础算法及代码(一)
- Sublime Text 3 配置C++环境,以后写一些小算法小程序就方便多了
- C++ 一些算法
- 一些可以用动态规划(DP)算法解决的问题(C++)
- 【分享】一些经典的C/C++语言基础算法及代码(二)
- C++ STL 算法 --- 你可能不知道的一些用法
- 【分享】一些经典的C/C++语言基础算法及代码(三)
- C++中一些简单的数组算法 第一篇
- 【分享】一些经典的C/C++语言基础算法及代码(四)
- C++中一些简单的数组算法(矩阵相乘) 第二篇
- c++中有关容器的一些总结