7 Nestler

尚未进行身份认证

暂无相关简介

等级
TA的排名 1w+

TinyFrame性能测试

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

2015-03-09 10:21:07

大整数加法

#include#include#include#include#include#include#include#includeusingnamespacestd;stringAddLongInteger(stringaddend,stringaugend){ intsum=0; intcarry=0; intlen1=a

2014-09-19 20:13:49

sort.cpp

#include#include#includeusingnamespacestd;//冒泡排序voidBubbleSort(inta[],intlen){ if(a==NULL||len<=0) return; boolswapped; intlast=len-1; do { swapped=false;

2014-09-19 09:30:44

heap.cpp

#includeusingnamespacestd;structHeapStruct;typedefstructHeapStruct*PriorityQueue;PriorityQueueInitialize(intMaxElements);voidDestroy(PriorityQueueH);voidMakeEmpty(PriorityQueueH)

2014-09-19 09:29:21

dp.cpp

#include#include#include#includeusingnamespacestd;//动态规划求解背包问题voidknapsack(intweight[],intvalue[],intn,intW){ //V[i][j]表示i个物品放入承重为j的背包中 int**V=newint*[n+1]; for(int

2014-09-19 09:28:08

main.c

#include#include#include#include#include#include#include#include#include#include#include#include#include#include"myqueue.h"#include"myvector.h"#include"mystl.h"#includ

2014-09-19 09:27:28

计算字符串距离

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

2014-09-15 14:50:46

数字哑谜和回文游戏

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

2014-09-06 21:34:47

C++模板Queue

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

2014-09-05 21:55:15

STL算法实现

写了一点STL算法,模板biancheng

2014-09-03 16:26:26

C++简易list

list不同于vector,每个节点的结构需要自行定义,迭代器属于双向迭代器(不是随即迭代器),也需要自行定义。和通用迭代器一样,list的迭代器需要实现的操作有:++、--、*、->、==、!=。节点的数据结构命名为list_node,迭代器的数据结构命名为list_iterator。list中对迭代器的操作不应该使用算数运算,如+2、-3这样的操作,只应该使用++、--来移动迭代器。STI版本

2014-08-28 14:43:28

C++简易vector

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

2014-08-25 19:07:35

用并查集求朋友圈数目

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

2014-08-22 10:50:06

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

为什么C++编译器不能支持对模板的分离式编译 刘未鹏(pongba)C++的罗浮宫(http://blog.csdn.net/pongba) 首先,一个编译单元(translationunit)是指一个.cpp文件以及它所#include的所有.h文件,.h文件里的代码将会被扩展到包含它的.cpp文件里,然后编译器编译该.cpp文件为一个.obj文件(假定我们的平台是win3

2014-08-21 15:44:30

【设计模式】责任链模式

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

2014-08-11 09:33:32

【设计模式】命令模式

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

2014-08-09 10:18:04

【设计模式】桥接模式

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

2014-08-08 09:02:24

【设计模式】备忘录模式

备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样,以后就可以将该对象恢复到原先保存的状态。下面是一个用C++描述的备忘录模式的基本框架。#include#includeusingnamespacestd;//备忘录classMemento{public: //保存数据 Memento(conststring&st

2014-08-03 21:53:42

【设计模式】适配器模式

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

2014-08-02 10:30:53

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

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

2014-07-29 11:05:02

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!