02 2015 档案

摘要:之前我的思路是, 先用一个指针找到合适的位置, 再通过指针把值传进去……然后就陷入多重指针的深渊里了。后来我的解决方法是递归:class BinarySearchTree{private: // do something... PTreeNode MakeNewNode (const i... 阅读全文
posted @ 2015-02-27 13:56 wu_overflow 阅读(188) 评论(0) 推荐(0) 编辑
摘要:看了算法导论的影印版的哈希表时,开始还不太明白, 想了下后觉得似乎哈希表就是数组和链表的组合, 于是根据这个思路实现了一个最简易的哈希表。这个其实我还是不太满意, 可能在以后会更新, 因为我觉得不满足 DRY 原则。class HashTable{private: const size_t ... 阅读全文
posted @ 2015-02-25 22:36 wu_overflow 阅读(195) 评论(0) 推荐(0) 编辑
摘要:1. 避免嵌套锁, 如果每个线程都只占有一个锁, 则可以很大程度上避免死锁。其死锁的情况是, 线程 1 依次获得 A 对象和 B 对象的锁, 然后决定等另一个线程的信号再继续, 从而先释放了 B 对象的的锁。可是线程 2 需要同时拥有对象 A 和对象 B 的锁才能向线程 1 发信号。从而导致, 线程... 阅读全文
posted @ 2015-02-24 17:30 wu_overflow 阅读(273) 评论(0) 推荐(0) 编辑
摘要:int64_t GetHighest (int64_t num) //原谅我的渣英文{ if(num = 10) { num /= 10; } return num;}方法来源 阅读全文
posted @ 2015-02-23 22:30 wu_overflow 阅读(815) 评论(0) 推荐(0) 编辑
摘要:C++ 吧里看到有人求助, 说是想写点代码求一个整数的位数, 以下是我的解决方法:int64_t RecursionIter (const int64_t& num, const int64_t& result){ if (num / 10 == ... 阅读全文
posted @ 2015-02-23 22:06 wu_overflow 阅读(572) 评论(0) 推荐(0) 编辑
摘要:我们使用 Windows 函数 MultiByteToWideChar 将多字节字符串转换为宽字符串。如下所示:int MultiByteToWideChar( UINT uCodePage, //标识了与多字节字符关联的一个代码页值 DWORD dwFla... 阅读全文
posted @ 2015-02-22 14:55 wu_overflow 阅读(597) 评论(0) 推荐(0) 编辑
摘要:1. 开始将文本字符串想象为字符的数组,而不是char或字节的数组。2. 为文本字符和字符串使用泛型(比如TCHAR/PTSTR)。3. 为字节、字节指针和数据缓冲区使用显式数据类型(BYTE和PBYTE) 。4. 为literal字符和字符串使用TEXT或_T宏,但为了保持一致性和更好的可读性,请... 阅读全文
posted @ 2015-02-22 01:16 wu_overflow 阅读(805) 评论(0) 推荐(0) 编辑
摘要:stack 不是一种容器, 而是一种适配器, 它的实现大概是这样的:template >class stack{public: explicit stack (const Container&); explicit stack (Container&& = Container ())... 阅读全文
posted @ 2015-02-20 20:06 wu_overflow 阅读(830) 评论(0) 推荐(0) 编辑
摘要:如题, C++ concurrency in action 笔记之一。 阅读全文
posted @ 2015-02-20 01:26 wu_overflow 阅读(135) 评论(0) 推荐(0) 编辑
摘要:#include #include #include #include using namespace std;template struct accumulate_block{ void operator ()(Iterator first, Iterator last, T &result) ... 阅读全文
posted @ 2015-02-17 23:36 wu_overflow 阅读(158) 评论(0) 推荐(0) 编辑
摘要:怎样配置环境可以参考 他人的博客可是这篇博客中没有提到 C++11 标准的问题, 而我经常使用 C++11 的一些特性, 比如移动语义, 移动构造什么的, 这就蛋疼了。google 了相关内容, 可是一无所获, SO 里也没有, 直到我在贴吧看到了一个贴 怎样支持 c11于是我就照猫画虎, 把编译命... 阅读全文
posted @ 2015-02-17 12:09 wu_overflow 阅读(195) 评论(0) 推荐(0) 编辑
摘要:是这样, 要求输入一些数字, 数字间用空格分隔, 敲击回车后, 会显示当前输入数字累计的和, 直到程序检测到输入的数字为 0 后, 才会在输出最终结果后结束。这段代码中 cin 和 printf 混用了, 不知好不好, 虽然 boost 的 format 也能实现相似的功能, 但是考虑到程序的一般性... 阅读全文
posted @ 2015-02-15 22:39 wu_overflow 阅读(214) 评论(0) 推荐(0) 编辑
摘要:只在必要的情况下才使用特殊的编译选项, 因为你不能保证其他人也同样正确的设置。代码风格不能妨碍沟通, 混合的风格等于没有风格。所以还是根据项目来确定自己的代码风格。代码风格的选择, 考虑的范围包括:易维护, 高效, 清晰, 简洁, 重要性递减。goto 也并不是毒瘤, 当深陷于 for 迭代的矩阵中... 阅读全文
posted @ 2015-02-15 19:35 wu_overflow 阅读(123) 评论(0) 推荐(0) 编辑
摘要:原文内容在 int32_t 等的使用 阅读全文
posted @ 2015-02-13 23:14 wu_overflow 阅读(1591) 评论(0) 推荐(0) 编辑
摘要:1. 类型的属性2. 类型的转化 阅读全文
posted @ 2015-02-13 16:15 wu_overflow 阅读(128) 评论(0) 推荐(0) 编辑
摘要:1. 主类型分类:2. 次类型归类 阅读全文
posted @ 2015-02-13 15:41 wu_overflow 阅读(204) 评论(0) 推荐(0) 编辑
摘要:如果 f 是一个数值函数, 那么就可以通过反复调用 f,通过 f(f(f(x)))... 来实现调用 n 次 f 函数。如果把此过程设为 Repeated, 那么Repeated(Square, 2)(5)的结果应该是625。我觉得看了上一篇博客的朋友应该会觉得这很简单:iFun Compose (... 阅读全文
posted @ 2015-02-09 16:25 wu_overflow 阅读(169) 评论(0) 推荐(0) 编辑
摘要:原题是这样:定义一个过程 Double, 它以一个有一个参数的过程为参数, Double 返回一个过程, 这一过程将原来那个参数过程应用两次。例如, 若 Inc 是个给参数加一的过程, Double(Inc) 将给参数加二。那么, 下面的表达式会返回什么值:Double(Double(Double(... 阅读全文
posted @ 2015-02-09 15:53 wu_overflow 阅读(191) 评论(0) 推荐(0) 编辑
摘要:如果真有朋友看完了我之前的几篇博客, 我真的挺感激。而如果他是一位细心的人, 他应该会发现, 使用平均阻尼法和牛顿法求根的过程中,其根本的思路还是通过求不动点的方式来获得方程的根。也就是, 1) 构造合适的函数 2)将函数转化为用于求不动点的函数 3)求转化后函数的不动点于是, 之前的步骤就可以转化... 阅读全文
posted @ 2015-02-08 15:46 wu_overflow 阅读(129) 评论(0) 推荐(0) 编辑
摘要:cdouble DX = 0.00001;dFun Deriv (dFun g){ return [g] ( cdouble &x) { auto delta_x = x + DX; return (g(delta_x) - g(x)... 阅读全文
posted @ 2015-02-07 16:53 wu_overflow 阅读(158) 评论(0) 推荐(0) 编辑
摘要:using dFun = function;using cdouble = const double;cdouble TOLERANCE = 0.00001;bool CloseEnough (cdouble &val1, cdouble &val2){ return (... 阅读全文
posted @ 2015-02-06 15:44 wu_overflow 阅读(129) 评论(0) 推荐(0) 编辑
摘要:const double tolerance = 0.00001;bool CloseEnough (const double &val1 ,const double &val2){ return (abs(val1 - val2) f ... 阅读全文
posted @ 2015-02-05 22:27 wu_overflow 阅读(241) 评论(0) 推荐(0) 编辑
摘要:至今仍存在问题, 就是无法解高于一次的方程, 希望看到此文的朋友可以给出您的见解。enum Condition{ close_enough , positive , negative};Condition CloseEnough (double test_number ... 阅读全文
posted @ 2015-02-05 12:53 wu_overflow 阅读(305) 评论(0) 推荐(0) 编辑
摘要:知乎上看到的, 说是有这么一个数列:1 - 2 + 3 - 4 + 5 ...... 100让求最终的和。我觉得如果单说这个数列的话, 有点简单啊:int f (int n){ return n % 2 == 0 ? -( n / 2) : (n + ... 阅读全文
posted @ 2015-02-03 22:50 wu_overflow 阅读(214) 评论(0) 推荐(0) 编辑
摘要:#include #include using namespace std;bool IsDivides (const int &a, const int &b){ return (b % a == 0);}int FindDivisor (const int &n, int &&test_divi... 阅读全文
posted @ 2015-02-03 10:32 wu_overflow 阅读(155) 评论(0) 推荐(0) 编辑
摘要:为了描述方便, 先建立两个 0 基的坐标轴: 一个自上而下的 m 轴和一个自左而右的 n 轴。(define (pascal m n) (if (or (< m 2) (< n 1) (= m n)) 1 (+ (pascal (- m 1) (- n 1)) (pa... 阅读全文
posted @ 2015-02-02 00:52 wu_overflow 阅读(160) 评论(0) 推荐(0) 编辑
摘要:有一函数 f() 遵守以下规则: 当 n = 3 时, f(n) = f(n - 1) + 2f(n - 2) + 3f(n - 3)用迭代和递归的形式分别写出 计算 f(n) 的过程。递归形式:(define (f n) (if (< n 3) n (+ (f (- n 1)) ... 阅读全文
posted @ 2015-02-02 00:14 wu_overflow 阅读(269) 评论(0) 推荐(0) 编辑
摘要:现有面值分别为 1分, 5分, 10分, 25分, 50分 的五种硬币, 问一枚一块钱的硬币换成这几种硬币有几种换法。先要明确一个事实, 总的换法一定等于 使用某一种硬币的换法和不使用某一种硬币的换法之和。前者需要先将总数减去一定使用的那种硬币的面值, 再来讨论剩下的兑换方法。后者需要先将硬币的种类... 阅读全文
posted @ 2015-02-01 17:29 wu_overflow 阅读(685) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示