奇淫技巧
文章平均质量分 68
dpkirin
这个作者很懒,什么都没留下…
展开
-
string 逆置
#include#includeusing std::string;using std::cout;using std::endl;int main(){ string str1,str2; str1="this is a test!"; str2.assign(str1.rbegin(),str1.rend()); cout<<str2<<endl;}或原创 2012-10-29 11:32:22 · 3200 阅读 · 0 评论 -
工厂模式
Factory模式 //Product.h #ifndef _PRODUCT_H_ #define _PRODUCT_H_ class Product{ public: virtual ~Product() = 0; protected: Product();原创 2013-10-07 10:32:18 · 1072 阅读 · 0 评论 -
23种设计模式彩图
原创 2013-10-07 10:30:57 · 2338 阅读 · 0 评论 -
RSA算法原理(一)
作者: 阮一峰日期: 2013年6月27日如果你问我,哪一种算法最重要?我可能会回答"公钥加密算法"。因为它是计算机通信安全的基石,保证了加密数据不会被破解。你可以想象一下,信用卡交易被破解的后果。进入正题之前,我先简单介绍一下,什么是"公钥加密算法"。一、一点历史1976年以前,所有的加密方法都是同一种模式:转载 2013-10-08 08:58:33 · 1755 阅读 · 0 评论 -
Linux epoll详解
Linux epoll详解日期: 2013年10月 8日一、什么是epollepoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linuxkernel 2.5.44),它几乎具备了之前所说的一切优点,被公原创 2013-10-08 08:55:19 · 32394 阅读 · 3 评论 -
计算机是如何启动的?
作者: 阮一峰日期: 2013年2月16日从打开电源到开始操作,计算机的启动是一个非常复杂的过程。我一直搞不清楚,这个过程到底是怎么回事,只看见屏幕快速滚动各种提示...... 这几天,我查了一些资料,试图搞懂它。下面就是我整理的笔记。零、boot的含义先问一个问题,"启动"用英语怎么说?回答是boot。可是,boot原来的意思是靴子转载 2013-10-07 13:09:28 · 1765 阅读 · 0 评论 -
字符串匹配的KMP算法
作者: 阮一峰日期: 2013年5月 1日字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Don转载 2013-10-07 13:05:44 · 1532 阅读 · 0 评论 -
C++ 智能指针详解
C++ 智能指针详解一、简介由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。 用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包括:std::auto原创 2013-10-07 11:02:57 · 2053 阅读 · 0 评论 -
快速排序 改进快排的方法
快速排序法事应用最广泛的排序算法之一,最佳情况下时间复杂度是 O(nlogn)。但是最坏情况下可能达到O(n^2)。说明快速排序达到最坏情况的原因。并提出改善方案并实现之。答:改进方案:改进选取枢轴的方法1、选取随机数作为枢轴。但是随机数的生成本身是一种代价,根本减少不了算法其余部分的平均运行时间。2、使用左端,右端和中心的中值做为枢轴元。经验得知,选取左端,右端,中心元素原创 2013-10-07 11:32:42 · 25169 阅读 · 2 评论 -
Debug 版本 vs Release版本
一、C Run-time LibraryWin32程序(使用Windows标准库),如果是 /MD 编译的程序,那么使用Depends.exe会发现其中需要 USER32.DLL、KERNEL32.DLL、GDI32.DLL、MSVCR80.DLL等文件支持。像前3个DLL文件是Windows系统自带的,我们不用去考虑它(除非你在程序中使用的API,windows版本不支持)。 MSV原创 2013-10-07 11:26:58 · 2268 阅读 · 0 评论 -
Linux内存管理
摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存地使用方法。力求从外自内、水到渠成地引导网友分析Linux地内存管理与使用。在本章最后我们给出一个内存映射地实例,帮助网友们理解内核内存管理与用户内存管理之间地关系,希望大家最终能驾驭Linux内存管理。 前言内存管理一向是所有操作系统书籍不惜笔墨重点讨论的内容,无转载 2013-10-07 11:21:24 · 1593 阅读 · 0 评论 -
详解大端模式和小端模式
详解大端模式和小端模式一、大端模式和小端模式的起源 关于大端小端名词的由来,有一个有趣的故事,来自于JonathanSwift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,就下令,原创 2013-10-07 11:11:38 · 1925 阅读 · 0 评论 -
字符串匹配的Boyer-Moore算法 BM算法详解
作者: 阮一峰日期: 2013年5月 3日上一篇文章,我介绍了KMP算法。但是,它并不是效率最高的算法,实际采用并不多。各种文本编辑器的"查找"功能(Ctrl+F),大多采用Boyer-Moore算法。Boyer-Moore算法不仅效率高,而且构思巧妙,容易理解。1977年,德克萨斯大学的Robert S. Boyer教授和J Strother Mo转载 2013-10-07 13:08:07 · 2029 阅读 · 0 评论 -
Linux 服务器模型
此篇文章禁止转载,如若转载,请在下面联系我,谢谢~from:http://blog.csdn.net/lingfengtengfei/article/details/12348903原创 2013-10-07 10:25:30 · 4551 阅读 · 8 评论 -
linux select函数详解
在Linux中,我们可以使用select函数实现I/O端口的复用,传递给 select函数的参数会告诉内核: •我们所关心的文件描述符 •对每个描述符,我们所关心的状态。(我们是要想从一个文件描述符中读或者写,还是关注一个描述符中是否出现异常) •我们要等待多长时间。(我们可以等待无限长的时间,等待固定的一段时间,或者根本就不等待)原创 2013-10-08 08:54:35 · 91801 阅读 · 18 评论