算法
文章平均质量分 60
忘世麒麟
这个作者很懒,什么都没留下…
展开
-
快速排序
看来好几个版本关于快速排序的描述,最终选择了《算法导论》里给出的一个算法,感觉这个特别容易理解和记忆。原算法如下:QUICKSORT(A,p,r)1 if p2 then q ←PARTITION(A,p,r)3 QUICKSORT(A,p,q-1)4 QUICKSORT(A,q+1,r) PARTITION(A,p,r)1 x ←A[r]2原创 2013-10-15 22:04:43 · 845 阅读 · 0 评论 -
Boost 学习之算法篇 hex
原文链接:http://www.boost.org/doc/libs/1_60_0/libs/algorithm/doc/html/the_boost_algorithm_library/Misc/hex.htmlhex 头文件“boost/algorithm/hex.hpp” 包含了两个算法:hex、unhex以及他们各自的三个版本的变体。hex将一个序列元素转换为十六进制数,翻译 2016-02-29 13:25:43 · 4506 阅读 · 0 评论 -
Boost 学习之算法篇 gather
gather 头文件'boost/algorithm/gather.hpp'有算法gather的两个变体函数。gather() 带了用一对迭代器定义的元素集合,移动里面的元素到序列中的一个合适的位置(枢轴位置)以满足传递进去的谓词。算法移动元素是稳定的。经过算法移动元素后,返回一对迭代器,迭代器指定范围的元素满足谓词的顺序。原文链接:http://www.boost.or翻译 2016-02-02 13:54:44 · 1417 阅读 · 0 评论 -
Boost 学习之算法篇 clamp
clamp 头文件clamp.hpp包含两个函数,用来“夹紧”一对边界值之间的值。(就是返回在一对边界值——[参数2,参数3]中最接近(或者等于)参数1的值。) 调用函数clamp (v, lo, hi),则可能有一下三种返回值: 当v小于1o 返回lo 当hi小于v 返回hi翻译 2016-02-02 10:34:59 · 5736 阅读 · 0 评论 -
Boost 学习之算法篇 mismatch
mismatch 头文件'mismatch.hpp'包含了stl算法mismatch的两个变体。该算法在两个序列中查找第一个破坏两序列一致性的元素位置。 在(被提倡使用的)C++14 前,该算法std::mismatch带了三个迭代器一个用来做比较的可选谓词。前连个迭代器[first1,last1)定义了一个序列范围,第二个迭代器first2定义了第二个序列的起翻译 2016-02-01 13:56:48 · 1150 阅读 · 0 评论 -
Boost 学习之算法篇 equal
equal 头文件'equal.hpp' 包含一个STL算法 equal 的两个变种。该算法测试两个序列是否包含相同的值。在(被提倡使用的)C++14 以前的版本中,stl::equal 函数带有三个迭代器以及一个可选的用作比较的谓词。前两个迭代器[first1,last1)定义了一个参数序列,第三个迭代器first2定义了第二个参数序列的开始位置。算法假设第二个序列长度与第一个一翻译 2016-01-29 15:14:14 · 1809 阅读 · 0 评论 -
Boost 学习之算法篇 partition_point
partition_point 头文件 'partition_point.hpp'包含单个算法partition_point的两种变体。假设给出一个划分好的序列以及一个谓词,该算法将找出序列中划分的位置;比如说,找出序列中的第一不满足谓词的元素 。(注释:比如说我们给一个序列0,6,7,3,14,15,谓词是10,那么该函数返回的第一个位置是元素14的位置;所谓的“划分好的序列翻译 2016-01-29 09:17:51 · 1230 阅读 · 0 评论 -
Boost 学习之算法篇 is_permutation
原文链接:http://www.boost.org/doc/libs/1_60_0/libs/algorithm/doc/html/the_boost_algorithm_library/CXX11/is_permutation.htmlis_permutation 头文件 'is_permutation.hpp' 包含单个is_permutation 算法的六个不同变种.翻译 2016-01-26 17:14:25 · 713 阅读 · 0 评论 -
Boost 学习之算法篇 is_partitioned
is_partitioned头文件 'is_partitioned.hpp' 包含is_partitioned 算法的的两个变种. 该算法测试一个序列T是否按照某个谓词来划分的;换句话说满足该为此的元素都在序列的开头。常用的is_partitioned 函数带有一个参数序列和一个谓词参数.假如序列按照谓词划分则返回true。is_partitioned 有两种调用格式:第一种是翻译 2016-01-26 14:40:39 · 842 阅读 · 0 评论 -
Boost 学习之算法篇 is_sorted
is_sorted头文件 包含一个方法用来判断一个值序列是否是排好序的。函数 is_sorted(sequence) 判断一个值序列是否严格按照某些标准排序。假如判断之前没有声明任何的比较方法 ,那么使用std::less_equal(比如看该序列是否是非降序的)。官方APInamespace boost { namespace algorithm { template翻译 2016-01-26 14:03:48 · 1145 阅读 · 0 评论 -
Boost 学习之算法篇 one_of 与 one_of_equal
one_of头文件 'boost/algorithm/cxx11/one_of.hpp' 包含4个名为one_of的常用算法. 该算法测试序列中的所有参数,假如测试这些元素发现其中只有一个含有特别的属性,则返回true.常用的one_of 函数带有一个参数序列以及一个候选值。假如用候选值与参数序列中所有元素只有一个返回true,则该函数将返回true。常用的one_of_equal翻译 2016-01-26 10:38:04 · 793 阅读 · 0 评论 -
Boost 学习之算法篇 none_of 与 none_of_equal
头文件 'boost/algorithm/cxx11/none_of.hpp' 包含4个名为none_of的常用算法. 该算法测试序列中的所有参数,假如测试这些元素发现其都没有某一特性,则返回true.常用的none_of 函数带有一个参数序列以及一个候选值。假如用候选值与参数序列中所有元素比较都返回false,则该函数将返回true。常用的none_of_equal 函数带一个参数序翻译 2016-01-26 09:57:12 · 1036 阅读 · 0 评论 -
Boost 学习之算法篇 any_of 与 any_of_equal
any_of 与any_of_equal这个算法测试一个序列的元素,假如有任何一个元素拥有特定的属性,则返回true。此处的特定指的是(和算法所带的参数比较能够返回true)常用的any_of 带一个参数序列和一个候选值。如果候选值对于序列中的任何元素比较至少有一个返回true则该算法返回true。常用的any_of_equal带一个参数序列和一个值.如果序列中的任何元素与传递的值比较翻译 2016-01-26 09:22:32 · 1567 阅读 · 0 评论 -
Boost 学习之算法篇 all_of 与 all_of_equal
来源:http://www.boost.org/doc/libs/1_54_0/libs/algorithm/doc/html/algorithm/CXX11.html事实上这篇文章开始的不算是“翻译”,也不算是“原创”。我仅将在官网看到的文档,结合自己的理解放到这里让学习者可以有所收获。/*头文件“boost/algorithm/cxx11/all_of.hpp” 包括了all_of翻译 2016-01-25 15:08:42 · 884 阅读 · 0 评论 -
C/C++减少IO操作的方法
很多时候,我们需要读文件,我看过这类代码,在一个do-while循环中,一点一点的读取文件内容,然后做响应的操作,我感觉,这样实在太费事,因此,将此类代码改正了过来:一次性读取文件全部的内容,然后在内存中一点一点的分析内容.例子如下:#include #include #include using namespace std; int main(){ ifstream fi原创 2016-05-31 15:20:24 · 1797 阅读 · 0 评论