STL
文章平均质量分 77
MrZhanglver
这个作者很懒,什么都没留下…
展开
-
STL map
STL map 使用详解#include#include#include#include#include#include#include#includeusing namespace std;//map 底层为红黑树 可以自平衡 即自动排序//只提供前向迭代器 并且不允许修改键值 也不允许键值重复//以下 列举常用 的函数/*map 构造函数map(InputIt原创 2016-03-17 22:29:23 · 329 阅读 · 0 评论 -
STL 函数对象
STL函数对象使用//函数对象 /*函数对象就是一个行为类似函数的对象,为了能够行为类似函数,所以在类中必须自定义函数调用运算子() 函数指针不够灵活 无法满足STL的抽象性要求*//*unary_function STL规定每一个一元函数都必须继它 它内部只模板化了参数与返回值binary_function 呈现二元函数的两个参数与返回值 用户可以继承它binder1原创 2016-03-20 17:03:05 · 428 阅读 · 0 评论 -
STL排序算法
STL排序算法使用//局部排序 与整体排序算法/*partical_sort(使用heap_sort)partition(轴值采用三点中值)stable_partitionstable_sortnth_element(采用partation的思想)*//*sort(f,l,Com) 接收随机迭代器数据量大时采用Quick_sort 分段递归排序 一旦分段的数据量小于某个门槛原创 2016-03-20 16:56:58 · 307 阅读 · 0 评论 -
STL复杂算法
STL复杂算法浅谈//复杂算法#include#include#include#include#include#includeusing namespace std;#define N_COUNT 6/*以下函数 最后都默认使用operator<进行比较 自己也可以提供仿函数 都应用于有序区间lower_bound(f,l,val);返回小于val区间的下一个位置 迭代原创 2016-03-20 16:51:53 · 234 阅读 · 0 评论 -
STL 单纯数据处理函数
STL 单纯数据处理函数#include#include#include#include#include#includeusing namespace std;//单纯数据处理算法/*adjacent_find 寻找相邻满足条件的元素对 返回前一个的迭代器count 统计某值出现的次数count_if 统计满足条件的值的个数max_element min_element原创 2016-03-20 16:47:05 · 319 阅读 · 0 评论 -
STL常用数值算法
STL常用数值算法#include#include#include#include#include#include#includeusing namespace std;//数值算法/*accumulate 累加或者类乘 partial_sum 局部求和fill fill_n 填充 初始化时使用方便equal判断两区间是否相等for_each 相当于for循环co原创 2016-03-20 16:35:50 · 371 阅读 · 0 评论 -
STL双端队列 deque
STL双端队列 deque#include#include#include#include#includeusing namespace std;/*deque采用一块map(不是STL中的map,是一块连续空间)作为主控,每个元素都是一个节点(cur fist last node)指向另一段连续较大的空间(成为缓冲区 默认512byte)deque内维持一个map和 来两个原创 2016-03-20 16:28:27 · 397 阅读 · 0 评论 -
STL qriority使用及原理
STL qriority使用及原理#include#include//优先队列头文件 #include#includeusing namespace std;/*构造函数:底层容器为vectorpriority_quene();priority_quene(f,l);//此时函数对象默认为 less(),即大根堆priority_quene(f,l,Com);//指定自定原创 2016-03-17 22:45:03 · 433 阅读 · 0 评论 -
STL heap底层及使用
STL heap底层及使用#include#include#include#includeusing namespace std;/*heap的隐式表达法 数组0下标位置 保留则用数组存储完全二叉树时 根节点位于i 则左孩子为2*i 右孩子为2*i+1 不过SGI STL并未使用这一技巧我个人也不提倡使用这一技巧 因为这会在排序时带来不便 *//*heap是与vector原创 2016-03-17 22:43:33 · 330 阅读 · 0 评论 -
STL unordered_map(hash_map)详解
STL unordered_map(hash_map)详解#include#include#include#include#include#includeusing namespace std;//底层为hashtable 不允许键值重复 内部元素不会经过排序//常用函数/*构造函数:unordered_map(size_type n,const hasher& hf,c原创 2016-03-17 22:40:23 · 2979 阅读 · 0 评论 -
STL unordered_set(hahs_set)详解
STL unordered_set(hahs_set)底层#include#include#include#include#include#includeusing namespace std;//被人代码 在VS2015下编写//介绍hashset 与hashmap之前先了解 底层的hashtable//C++11 用unordered_set 与unordered_map 代原创 2016-03-17 22:36:08 · 1035 阅读 · 0 评论 -
STL set集合算法
STL set集合运算算法#include#include#include#include#include#include#includeusing namespace std;//set 与map几乎相同 只不过set没有键值之分 键与值相同 所以不允许修改元素的值//STL提供与set相关的集合相关算法//STL中的集合与数学的集合不同 STL中set不允许键值重复 并原创 2016-03-17 22:32:17 · 502 阅读 · 0 评论 -
STL适配器(ostream_itertor与istream_iterator)
ostream_itertor与istream_iterator//配接器 /*是一种常用设计模式 将一个class的接口转换为另一个class的接口 使原本因接口不兼容的class可以死一起运作可应用于容器 迭代器 仿函数等*//*ostream_iterator istream_iterator*/#include#include//文件流#include#in原创 2016-03-20 17:08:23 · 490 阅读 · 0 评论