
STL算法
文章平均质量分 59
dr.xun
迭代
展开
-
C++的STL库如何做到类型区分
一、问题背景有时候写一个通用的模板类,在实现过程中我们需要模板参数的类型,根据是哪类类型进行相应的算法操作。比如,关于STL库的迭代器偏移算法工具advance将某个迭代器移动给定的距离,其模板函数签名如下:template<typename IterT, typename DistT>void advance(IterT& iter, DistT d);先说说STL库中迭代器的类型,有输入型迭代器(Input)、输出型迭代器(Output)、前向迭代器(forward)原创 2021-03-14 11:09:24 · 254 阅读 · 0 评论 -
算法策略类型
1、贪心算法,通过局部最优选择从而得到全局最优的解决方案。两个重要特性:贪心选择性质,问题的最优解可以通过一系列局部最优的选择得到; 最优结构性质,一个问题的最优解包含其子问题的最优解。2、分值算法,将一个大规模的问题分解为若干个较小的相同子问题,分而治之。适应条件:1. 原问题可以分解成若干个规模较小的相同子问题;2. 子问题相互独立;3. 子问题的解可以合并为原问题的解。步骤:...原创 2020-06-14 14:35:35 · 353 阅读 · 0 评论 -
排序算法效率图
原创 2020-06-14 14:33:57 · 186 阅读 · 0 评论 -
VS2019实现跨越编译期和运行期边界测试失效
#include <iostream>#include <map>#include <string>#include <vector>#include <typeinfo>using namespace std;struct print_type{ template<typename T> ...原创 2019-12-29 21:36:26 · 151 阅读 · 0 评论 -
元编程
原创 2019-12-14 22:59:59 · 97 阅读 · 0 评论 -
数值算法之accumulate
一、接口实现功能:计算区间[first,second)内所有元素和_Val(初始值)的总和。template<class _InIt, class _Ty, class _Fn2> inline _Ty _Accumulate(_InIt _First, _InIt _Last, _Ty _Val, _Fn2 _Func) { // return sum of _Va...原创 2019-09-08 10:28:05 · 290 阅读 · 0 评论 -
数值算法之adjacent_difference
一、接口实现功能:计算区间[first, end)中两个相邻元素的差值。template<class _InIt, class _OutIt, class _Fn2, class _Ty> inline _OutIt _Adjacent_difference(_InIt _First, _InIt _Last, _OutIt _Dest, _Fn2 _Func, ...原创 2019-09-08 10:57:08 · 421 阅读 · 0 评论