码迷,mamicode.com
首页 >  
搜索关键字:effective stl    ( 8046个结果
STL容器能力一览表
VectorDequeListSetMultisetmapMultimap典型内部结构dynamicarrayArray of arraysDoublyLinked listBinary treeBinary treeBinary treeBinary tree元素ValueValueValueVa...
分类:其他好文   时间:2014-07-22 22:53:32    阅读次数:196
STL 源码剖析 算法 stl_algo.h -- search_n
search_n ---------------------------------------------------------------------------------------- 描述:在序列[first, last) 所涵盖的区间中,查找"连续 count 个符合条件之元素"所形成的子序列, 并返回迭代器 last 思路: 1.首先找出 value 第一次出现点 2.该出现点的后面是否连续出现 count - 1 个 value 3.如果是,找到了,如果不是,在当前元素后的区间重新找...
分类:其他好文   时间:2014-07-19 23:31:25    阅读次数:355
STL 源码剖析 算法 stl_algo.h -- upper_bound
upper_bound(应用于有序区间) ------------------------------------------------------------------------------------------------------------------------------------------------- 描述:受STL区间前闭后开习惯的影响,upper_bound成功找到某个值时, 返回一个迭代器指向每一个"不大于 value "的元素的下一个位置,而不是指向 value 的迭代...
分类:其他好文   时间:2014-07-19 23:31:03    阅读次数:289
STL 源码剖析 算法 stl_algo.h -- lower_bound
lower_bound(应用于有序区间) -------------------------------------------------------------------------------------------------------------------------- 描述:二分查找,返回一个迭代器指向每一个"不小于 value "的元素, 或 value 应该存在的位置 思路: 1.循环直到区间长度为 0 2.如果 *middle < value,在后半段继续查找 3.如果 *mid...
分类:其他好文   时间:2014-07-19 23:30:41    阅读次数:382
STL 源码剖析 算法 stl_algo.h -- binary_search
int main() { int A[] = { 1, 2, 3, 3, 3, 5, 8 }; const int N = sizeof(A) / sizeof(int); for (int i = 1; i <= 10; ++i) { cout << "Searching for " << i << ": " << (binary_search(A, A + N, i) ? "present" : "not present") << endl; } } /* ...
分类:其他好文   时间:2014-07-19 23:29:59    阅读次数:275
STL 源码剖析 算法 stl_algo.h -- next_permutation
next_permutation ----------------------------------------------------------------------- 描述: 取得 [first, last) 所标示之序列的下一个排列组合。如果没有,返回 false,有,返回true 思路: 从后往前 1.找两个相邻元素,令左端的元素为*i,右端的元素为*ii,且满足 *i < *ii 2.找出第一个大于 *i 的元素,令其为 *j,将*i,*j元素对调 3.将ii右端的所有元素颠倒 源码: t...
分类:其他好文   时间:2014-07-19 23:29:37    阅读次数:383
sort函数使用的基本知识
STL中就自带了排序函数sortsort 对给定区间所有元素进行排序 要使用此函数只需用#include sort即可使用,语法描述为:sort(begin,end),表示一个范围,例子:#include int main(){ int a[20]={2,4,1,23,5,76,0,43,24,6....
分类:其他好文   时间:2014-07-19 18:36:51    阅读次数:217
STL vector使用方法介绍
介绍这篇文章的目的是为了介绍std::vector,怎样恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该可以有效地使用vector容器,并且应该不会再去使用C类型的动态数组了。Vect...
分类:其他好文   时间:2014-07-19 12:20:11    阅读次数:240
STL 源码剖析 算法 stl_algo.h -- partition
partition ------------------------------------------------------------------------ 描述:partition 会将区间[first,last) 中的元素重新排列。所有被一元条件运算 pred 判定为 true 的元素,都会被放在区间的前段, 被判定为 false 的元素,都会被放在区间的后段。 partition 不稳定,不保证 partition 后元素保留在原始相对位置, stable_partition 稳定 思路: ...
分类:其他好文   时间:2014-07-19 08:26:15    阅读次数:248
STL 源码剖析 算法 stl_algo.h -- merge
merge (应用于有序区间) -------------------------------------------------------------------------- 描述:将两个经过排序的集合S1和S2,合并起来置于另一段空间。所得结果也是一个有序(sorted)序列 思路: 1.遍历两个序列直到其中一个结束了 2.如果序列一的元素较小,将它放到结果序列中,并前进 1 3.如果序列二的元素较小,将它放到结果序列中,前前进 1 4.遍历结束后,将还没有遍历完的序列复制到结果序列的尾部 源码:...
分类:其他好文   时间:2014-07-19 08:16:09    阅读次数:212
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!