Nestle的专栏

源码之前,了无秘密。

TinyFrame性能测试

压力测试。用TinyFrame编写Web服务器,Apache Bench(AB)程序作为客户端。客户端发出请求,服务器响应字符串“test”,以此来测量服务器并发量。 测试环境: 服务器配置:Pentium(R) Dual-Core CPU E6700 @ 3.2GHz 3.2GHz,...

2015-03-09 10:21:07

阅读数 563

评论数 0

大整数加法

#include #include #include #include #include #include #include #include using namespace std; string AddLongInteger(string addend, string au...

2014-09-19 20:13:49

阅读数 882

评论数 0

sort.cpp

#include #include #include using namespace std; // 冒泡排序 void BubbleSort(int a[], int len) { if (a == NULL || len <= 0) return; bool swap...

2014-09-19 09:30:44

阅读数 857

评论数 0

heap.cpp

#include using namespace std; struct HeapStruct; typedef struct HeapStruct *PriorityQueue; PriorityQueue Initialize(int MaxElements); void Destro...

2014-09-19 09:29:21

阅读数 754

评论数 0

dp.cpp

#include #include #include #include using namespace std; // 动态规划求解背包问题 void knapsack(int weight[], int value[], int n, int W) { // V[i][j]表示i个...

2014-09-19 09:28:08

阅读数 751

评论数 0

main.c

#include #include #include #include #include #include #include #include #include #include #include #include #include #include "myq...

2014-09-19 09:27:28

阅读数 773

评论数 0

计算字符串距离

编辑距离,又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。Levenshtein距离可以通过下面这个状态方程求解: 这个式子还是比较好理解的:当字符串a为空,那么两个字符串...

2014-09-15 14:50:46

阅读数 976

评论数 2

数字哑谜和回文游戏

编程之美4.10的两道题。 第一题:找出符合条件的九位数,每位数互不相同(1~9的某个排列),满足高n位能被n整除。例如abcdefghi,高两位ab能被2整除,高三位abc能被3整除,以此类推。 一提到排列,很容易就想到递归+回溯,这个方法在面试中使用频率相当高。1~9这九个数字做一次全排列...

2014-09-06 21:34:47

阅读数 1457

评论数 0

C++模板Queue

《C++ primer》中的一个例子,ganjue

2014-09-05 21:55:15

阅读数 1091

评论数 0

STL算法实现

写了一点STL算法,模板biancheng

2014-09-03 16:26:26

阅读数 841

评论数 0

C++简易list

list不同于vector,每个节点的结构需要自行定义,迭代器属于双向迭代器(不是随即迭代器),也需要自行定义。和通用迭代器一样,list的迭代器需要实现的操作有:++、--、*、->、==、!=。节点的数据结构命名为list_node,迭代器的数据结构命名为list_iterator。li...

2014-08-28 14:43:28

阅读数 1204

评论数 0

C++简易vector

好久没动手写一点C++程序了,以后没事多模仿STL吧,虽然达不到标准的STL的程序,但简单的功能还是要实现的。STL确实博大精深:泛型编程、容器、算法、适配器...有的是内容可以学。下面是根据STL源码,写的一个非常简单的vector,实现了部分接口。其实vector还是相对很简单的容器了,元素按...

2014-08-25 19:07:35

阅读数 1256

评论数 0

用并查集求朋友圈数目

题目: 假如已知有n个人和m对好友关系,如果两个人是直接或者间接有好友关系,则认为他们属于同一个朋友圈。写程序判断里面有多少朋友圈。 例如: n = 5, m = 3  r = {(1,2), (2, 3), (4, 5)}  1 2 3 是一个朋友圈, 4 5 是一个朋友圈。 所以输出是2

2014-08-22 10:50:06

阅读数 1635

评论数 0

为什么C++编译器不能支持对模板的分离式编译

为什么C++编译器不能支持对模板的分离式编译   刘未鹏(pongba) C++的罗浮宫(http://blog.csdn.net/pongba)   首先,一个编译单元(translation unit)是指一个.cpp文件以及它所#include的所有.h文件,.h文件里的代码将会被...

2014-08-21 15:44:30

阅读数 1236

评论数 0

【设计模式】责任链模式

责任链模式是一种软件设计模式,它包含了一些命令对象和一系列的处理对象。每一个处理对象决定它能处理哪些命令对象,它也知道如何将它不能处理的命令对象传递给该链中的下一个处理对象。该模式还描述了往该处理链的末尾添加新的处理对象的方法。责任链模式的UML图如下: 下面是一个用C++描述的...

2014-08-11 09:33:32

阅读数 1089

评论数 0

【设计模式】命令模式

命令模式:将请求封装在对象中,客户不直接调用某个对象的方法,而是使用命令,将命令传递给拥有方法的对象从而让某一方法被调用。UML图如下: 下面是用C++描写的命令模式的一个简单例子: #include #include #include using namespace ...

2014-08-09 10:18:04

阅读数 998

评论数 0

【设计模式】桥接模式

桥接模式:把事物对象和其具体行为、具体特征分离开来,使它们可以各自独立的变化。事物对象仅是一个抽象的概念。如“圆形”、“三角形”归于抽象的“形状”之下,而“画圆”、“画三角”归于实现行为的“画图”类之下,然后由“形状”调用“画图”。“形状”成为一个继承体系,“画图”成为另一个继承体系,抽象和实现两...

2014-08-08 09:02:24

阅读数 933

评论数 0

【设计模式】备忘录模式

备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样,以后就可以将该对象恢复到原先保存的状态。下面是一个用C++描述的备忘录模式的基本框架。 #include #include using namespace std; // 备忘录 class Me...

2014-08-03 21:53:42

阅读数 1110

评论数 0

【设计模式】适配器模式

适配器模式:将一个类的接口转换成客户希望的另一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。UML图如下所示: 从上图可以看出,Client需要一个名为methodA的接口,而类Adaptee只拥有一个名为methodB的接口。这时,就需要一个适配器来将接口做一个转换...

2014-08-02 10:30:53

阅读数 997

评论数 0

【设计模式】抽象工厂模式

抽象工厂模式是工厂方法模式的进一步强化。当工厂函数只需要产生一种类型的产品(所有产品都继承自同一抽象基类)时,使用工厂方法模式即可。但是,当用户程序需要创建多种类型的产品,而这些产品又有一定的内在联系,那么就要用到抽象工厂模式了。抽象工厂模式的UML图如下所示: Abstract...

2014-07-29 11:05:02

阅读数 1079

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭