代码改变世界

2012-04-08 23:09 by Rollen Holt, 771 阅读, 0 推荐, 收藏, 编辑
摘要:MyString.h const int MAXSIZE=100;class CMyString{public: CMyString(const CMyString& copy); CMyString(const char *init); CMyString(); ~CMyString(){ delete[] m_pstr; } int Length() const{ return m... 阅读全文

优先级队列

2012-04-08 23:06 by Rollen Holt, 1169 阅读, 2 推荐, 收藏, 编辑
摘要:QueueNode.h template<typename Type,typename Cmp> class PriorityQueue;template<typename Type,typename Cmp> class QueueNode{private: friend class PriorityQueue<Type,Cmp>; QueueNode(const Type item,Q... 阅读全文

链式队列

2012-04-08 23:03 by Rollen Holt, 758 阅读, 0 推荐, 收藏, 编辑
摘要:QueueNode.h template<typename Type> class LinkQueue;template<typename Type> class QueueNode{private: friend class LinkQueue<Type>; QueueNode(const Type item,QueueNode<Type> *next=NULL) :m_data(it... 阅读全文

顺序队列

2012-04-08 23:02 by Rollen Holt, 1225 阅读, 0 推荐, 收藏, 编辑
摘要:SeqQueue.h template<typename Type> class SeqQueue{public: SeqQueue(int sz):m_nrear(0),m_nfront(0),m_ncount(0),m_nMaxSize(sz){ m_pelements=new Type[sz]; if(m_pelements==NULL){ cout<<"Applicatio... 阅读全文

链式栈

2012-04-08 22:59 by Rollen Holt, 721 阅读, 0 推荐, 收藏, 编辑
摘要:StackNode.h template<typename Type> class LinkStack;template<typename Type> class StackNode{private: friend class LinkStack<Type>; StackNode(Type dt,StackNode<Type> *next=NULL):m_data(dt),m_pnext(... 阅读全文

顺序栈

2012-04-08 22:57 by Rollen Holt, 836 阅读, 0 推荐, 收藏, 编辑
摘要:SeqStack.h template<typename Type> class SeqStack{public: SeqStack(int sz):m_ntop(-1),m_nMaxSize(sz){ m_pelements=new Type[sz]; if(m_pelements==NULL){ cout<<"Application Error!"<<endl; exit(... 阅读全文

循环链表

2012-04-08 22:54 by Rollen Holt, 1672 阅读, 0 推荐, 收藏, 编辑
摘要:ListNode.h template<typename Type> class CircularList;template<typename Type> class ListNode{private: friend class CircularList<Type>; ListNode():m_pnext(NULL){} ListNode(const Type item,ListNode<... 阅读全文

双向链表

2012-04-08 22:52 by Rollen Holt, 1646 阅读, 0 推荐, 收藏, 编辑
摘要:NodeList.h template<typename Type> class DoublyList;template<typename Type> class ListNode{private: friend class DoublyList<Type>; ListNode():m_pprior(NULL),m_pnext(NULL){} ListNode(const Type ite... 阅读全文

单链表

2012-04-08 22:47 by Rollen Holt, 1210 阅读, 2 推荐, 收藏, 编辑
摘要:template<typename Type> class SingleList;template<typename Type> class ListNode{private: friend typename SingleList<Type>; ListNode():m_pnext(NULL){} ListNode(const Type item,ListNode<Type> *next=N... 阅读全文

顺序表

2012-04-08 22:42 by Rollen Holt, 2531 阅读, 2 推荐, 收藏, 编辑
摘要:Seqlist.h const int DefaultSize=100;template <typename Type> class SeqList{public: SeqList(int sz=DefaultSize) :m_nmaxsize(sz),m_ncurrentsize(-1){ if(sz>0){ m_elements=new Type[m_nmaxsize]; }... 阅读全文

2012-04-08 21:54 by Rollen Holt, 706 阅读, 2 推荐, 收藏, 编辑
摘要:MinHeap.h template<typename Type> class MinHeap{public: MinHeap(int size):m_nMaxSize(size > defaultsize ? size : defaultsize) ,m_pheap(new Type[m_nMaxSize]),m_ncurrentsize(0){} MinHeap(Type heap... 阅读全文

线索二叉树

2012-04-08 21:49 by Rollen Holt, 728 阅读, 1 推荐, 收藏, 编辑
摘要:ThreadNode.h template<typename Type> class ThreadTree;template<typename Type> class ThreadInorderIterator;template<typename Type> class ThreadNode{public: friend class ThreadTree<Type>; friend cla... 阅读全文

二叉树

2012-04-08 21:42 by Rollen Holt, 875 阅读, 2 推荐, 收藏, 编辑
摘要:今晚闲来无事,练练基本的数据结构吧 BinTreeNode.h template<typename Type> class BinaryTree;template<typename Type> class BinTreeNode{public: friend class BinaryTree<Type>; BinTreeNode():m_pleft(NULL),m_pright(NULL... 阅读全文

谈一谈网络编程学习经验

2012-04-08 21:10 by Rollen Holt, 10346 阅读, 2 推荐, 收藏, 编辑
摘要:建议大家去看原文:http://cloud.github.com/downloads/chenshuo/documents/LearningNetworkProgramming.pdf1谈一谈网络编程学习经验陈硕giantchen@gmail.comblog.csdn.net/Solsticeweibo.com/giantchen2012-02-13本文谈一谈我在学习网络编程方面的一些个人经验。“网络编程”这个术语的范围很广,本文指用Sockets API 开发基于 TCP/IP 的网络应用程序,具体定义见“网络编程的各种任务角色”一节。受限于本人的经历和经验,这篇文章的适应范围是: x86 阅读全文

推荐一个资料:数学之美-by-吴军.pdf

2012-04-06 17:04 by Rollen Holt, 6477 阅读, 1 推荐, 收藏, 编辑
摘要:推荐一本由网友整理的电子书《数学之美》,作者是Google的吴军。电子书分23篇组成,介绍了数学在现代信息检索和自然语言处理里面所起的作用(目录见附图)。如果对搜索和分词相关技术感兴趣,想深入理解其本质的朋友推荐一看,打印出来作为居家旅行的读物相当不错。下载地址:http://vdisk.weibo.com/s/3PJou 阅读全文

C++ 工程实践经验谈(转)

2012-04-02 12:57 by Rollen Holt, 2344 阅读, 0 推荐, 收藏, 编辑
摘要:文章的排版不行,大家可以去http://cloud.github.com/downloads/chenshuo/documents/CppPractice.pdf查看原文C++ 工程实践经验谈 by 陈硕 1C++ 工程实践经验谈陈硕 (giantchen@gmail.com)最后更新 2012-4-1版权声明本作品采用“Creative Commons 署名 -非商业性使用 -禁止演绎 3.0 Unported 许可协议 (cc by-nc-nd)”进行许可。http://creativecommons.org/licenses/by-nc-nd/3.0/内容一览1 慎用匿名 namespa 阅读全文

数组的选择--固定大小数组模板array存在的意义!

2012-04-02 12:37 by Rollen Holt, 1473 阅读, 1 推荐, 收藏, 编辑
摘要:主要就是为了使用的方便,更加容易和algorithm的算法结合的更好! #include <iostream> #include <ctime> #include <array> #include <functional> #include <algorithm> #include <boost\array.hpp> using namespace std; using names... 阅读全文

使用模板元编程快速的得到斐波那契数。。

2012-04-02 12:32 by Rollen Holt, 927 阅读, 1 推荐, 收藏, 编辑
摘要:这是一种将运行时消耗转移到编译器消耗的方法,是c++模板的一种应用。 当你的程序运行时效率需要特别高的时候,可以考虑这样的方法。 模板实例化的时候需要常量: #include <iostream>using namespace std;template < unsigned N >struct Fib{ enum { Val = Fib<N-1>::Val + Fib<N-... 阅读全文

继续复习

2012-04-01 22:58 by Rollen Holt, 411 阅读, 0 推荐, 收藏, 编辑
摘要:是自己记忆力变差了吗?发现自己前几天刚刚看的书,内容又忘记了,╮(╯▽╰)╭,看来不仅仅是自己记忆力变差了,也说明自己没有完全理解那一块的东西,应用那一块知识还不是很熟练,所以没有记住,继续开始复习。 阅读全文

记录今晚的百度电面

2012-03-30 18:52 by Rollen Holt, 26 阅读, 3 推荐, 收藏, 编辑
该文被密码保护。 阅读全文

MySQL索引背后的数据结构及算法原理

2012-03-30 05:05 by Rollen Holt, 5010 阅读, 2 推荐, 收藏, 编辑
摘要:原文地址:http://www.codinglabs.org/html/theory-of-mysql-index.html#nav-2-1摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础。第 阅读全文

从Trie树(字典树)谈到后缀树(10.28修订)

2012-03-30 04:53 by Rollen Holt, 2068 阅读, 1 推荐, 收藏, 编辑
摘要:作者:July、yansha。出处:http://blog.csdn.net/v_JULY_v。引言 常关注本blog的读者朋友想必看过此篇文章:从B树、B+树、B*树谈到R 树,这次,咱们来讲另外两种树:Tire树与后缀树。不过,在此之前,先来看两个问题。 第一个问题: 一个文本文件,大约有一万行,每行一个词,要求统计出其中最频繁出现的前10个词,请给出思想,给出时间复杂度分析。 之前在此文:海量数据处理面试题集锦与Bit-map详解中给出的参考答案:用trie树统计每个词出现的次数,时间复杂度是O(n*le)(le表示单词的平均长度),然后是找出出现最频繁的前10个词。也可以用堆来实现(. 阅读全文

教你如何迅速秒杀掉:99%的海量数据处理面试题

2012-03-30 04:35 by Rollen Holt, 1056 阅读, 1 推荐, 收藏, 编辑
摘要:作者:July出处:结构之法算法之道blog前言 一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性总结。 毕竟受文章和理论之限,本文将摒弃绝大部分的细节,只谈方法/模式论,且注重用最通俗最直白的语言阐述相关问题。最后,有一点必须强调的是,全文行文是基于面试题的分析基础之上的,具体实践过程中,还是得具体情况具体分析,且场景也远比本文所述的任何一种情况复杂得多。 OK,若有任何问题,欢迎.. 阅读全文

从头到尾彻底解析Hash表算法

2012-03-30 02:23 by Rollen Holt, 4210 阅读, 0 推荐, 收藏, 编辑
摘要:十一、从头到尾彻底解析Hash 表算法作者:July、wuliming、pkuoliver出处:http://blog.csdn.net/v_JULY_v。说明:本文分为三部分内容, 第一部分为一道百度面试题Top K算法的详解;第二部分为关于Hash表算法的详细阐述;第三部分为打造一个最快的Hash表算法。------------------------------------第一部分:Top K 算法详解问题描述百度面试题: 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。 假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千. 阅读全文

十七道海量数据处理面试题与Bit-map详解

2012-03-30 02:03 by Rollen Holt, 896 阅读, 0 推荐, 收藏, 编辑
摘要:作者:小桥流水,redfox66,July。前言 本博客内曾经整理过有关海量数据处理的10道面试题(十道海量数据处理面试题与十个方法大总结),此次除了重复了之前的10道面试题之后,重新多整理了7道。仅作各位参考,不作它用。 同时,程序员编程艺术系列将重新开始创作,第十一章以后的部分题目来源将取自下文中的17道海量数据处理的面试题。因为,我们觉得,下文的每一道面试题都值得重新思考,重新深究与学习。再者,编程艺术系列的前十章也是这么来的。若您有任何问题或建议,欢迎不吝指正。谢谢。第一部分、十五道海量数据处理面试题1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G 阅读全文

__cdecl __stdcall 解析

2012-03-29 12:20 by Rollen Holt, 376 阅读, 0 推荐, 收藏, 编辑
摘要:1.如果函数func是__cdecl(默认调用方式),调用时情况如下int main(){//参数从右到左压栈 push4 push3 push2 push1 call func add esp0x10//调用者恢复堆栈指针esp,4个参数的大小是0x10(4x4) }2.如果函数func是__stdcall,调用时情况如下int main(){//参数从右到左压栈 push4 push3 push2 push1 call func//恢复堆栈指针由被调用者func负责,方法是"ret 0x10" }3.如果函数func是__pascal,调用情况如下int main(){ 阅读全文

C语言中的关于“位域”的说明(转载,有修改)

2012-03-29 11:55 by Rollen Holt, 897 阅读, 1 推荐, 收藏, 编辑
摘要:有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来表示。一、位域的定义和位域变量的说明位域定义与结构定义相仿,其形式为: struct 位域结构名 { 位域列表 };其中位域列表的形式为: 类型说明符 位域名:位域长度例如:struct bs{ in 阅读全文

C++查缺补漏4,赶紧的

2012-03-28 22:56 by Rollen Holt, 1130 阅读, 1 推荐, 收藏, 编辑
摘要:请说出const与#define 相比,有何优点?答案:1)const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误。 2)有些集成化的调试工具可以对const 常量进行调试,但是不能对宏常量进行调试。在8086 汇编下,逻辑地址和物理地址是怎样转换的?(Intel)答案:通用寄存器给出的地址,是段内偏移地址,相应段寄存器地址*10H+通用寄存器内地址,就得到了真正要访问的地址。当一个类A 中没有生命任何成员变量与成员函数,这时sizeof(A)的值是多少,如果不是零,请解释一下编译器为 阅读全文

C++查缺补漏3,赶紧的

2012-03-28 22:30 by Rollen Holt, 492 阅读, 1 推荐, 收藏, 编辑
摘要:如何判断一段程序是由C 编译程序还是由C++编译程序编译的? 答案: #ifdef __cpluspluscout<<"c++";#elsecout<<"c";#endif如何打印出当前源文件的文件名以及源文件的当前行号? 答案: cout << __FILE__ ; cout<<__LINE__ ; __FILE__和__LINE__是系统预定义宏,这种宏并不是在某个文... 阅读全文

C++查缺补漏2,赶紧的

2012-03-28 21:29 by Rollen Holt, 528 阅读, 2 推荐, 收藏, 编辑
摘要:先来看一段代码把: #include <iostream>#include <typeinfo>using namespace std;void foo(void){ unsigned int a = 6; int b = -20; (a+b > 6) ? puts("> 6") : puts("<= 6");}int _tmain(int argc, _TCHAR* argv[]){... 阅读全文

一道面试题: 预处理器标识#error的目的是什么?

2012-03-28 20:51 by Rollen Holt, 4922 阅读, 2 推荐, 收藏, 编辑
摘要:编译程序时,只要遇到#error就会跳出一个编译错误,既然是编译错误,要它干嘛呢?其目的就是保证程序是按照你所设想的那样进行编译的。下面举个例子:程序中往往有很多的预处理指令#ifdefXXX...#else#endif当程序比较大时,往往有些宏定义是在外部指定的(如makefile),或是在系统头文件中指定的,当你不太确定当前是否定义了XXX时,就可以改成如下这样进行编译:#ifdefXXX...#error"XXXhasbeendefined"#else#endif这样,如果编译时出现错误,输出了XXXhasbeendefined,表明宏XXX已经被定义了。用处就是这样 阅读全文

C++查缺补漏,赶紧的

2012-03-28 20:50 by Rollen Holt, 781 阅读, 1 推荐, 收藏, 编辑
摘要:c++中 switch支持的数据类型为实型 (麻烦朋友们给我解释一下什么是实型) 支持的有int long unsigned short enum类型,不支持的是:float double string 回答下面的问题: Void GetMemory(char **p, int num){*p = (char *)malloc(num);}void Test(void){char *s... 阅读全文

几种函数调用方式

2012-03-28 20:19 by Rollen Holt, 951 阅读, 0 推荐, 收藏, 编辑
摘要:__cdecl 是C DECLaration的缩写(declaration,声明),表示C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除,称为手动清栈。被调用函数不会要求调用者传递多少参数,调用者传递过多或者过少的参数,甚至完全不同的参数都不会产生编译阶段的错误。 _stdcall 是StandardCall的缩写,是C++的标准调用方式:所有参数从右到左依次入栈,如果是调用类成员的话,最后一个入栈的是this指针。这些堆栈中的参数由被调用的函数在返回后清除,使用的指令是 retnX,X表示参数占用的字节数,CPU在ret之后自动弹出X个字节的堆栈空间。称为自动清栈。. 阅读全文

一个类的实例化对象所占空间的大小

2012-03-28 19:34 by Rollen Holt, 5623 阅读, 1 推荐, 收藏, 编辑
摘要:注意不要说类的大小,是类的对象的大小.首先,类的大小是什么?确切的说,类只是一个类型定义,它是没有大小可言的。用sizeof运算符对一个类型名操作,得到的是具有该类型实体的大小。如果Class A;A obj;那么sizeof(A)==sizeof(obj)那么sizeof(A)的大小和成员的大小总和是什么关系呢,很简单,一个对象的大小大于等于所有非静态成员大小的总和。为什么是大于等于而不是正好相等呢?超出的部分主要有以下两方面:1) C++对象模型本身对于具有虚函数的类型来说,需要有一个方法为它的实体提供类型信息(RTTI)和虚函数入口,常见的方法是建立一个虚函数入口表,这个表可为相同类型的 阅读全文

#pragma指令的用法

2012-03-28 19:10 by Rollen Holt, 748 阅读, 2 推荐, 收藏, 编辑
摘要:在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。其格式一般为: #Pragma Para其中Para 为参数,下面来看一些常用的参数。(1)message 参数。 Message 参数是我最喜欢的一个参数,它能够在编译信息输出窗口中输出相应的信息,这对于源代码信息的控制是非常重要的。其使用方法为:#Pragma message(“消息文本 阅读全文

关于“同学疯狂投递简历”的一点点随想

2012-03-28 17:12 by Rollen Holt, 592 阅读, 1 推荐, 收藏, 编辑
摘要:写这篇文章的缘由呢,其实是消磨时间。对,就怎么简单,因为我在等邮件。也许一些比较熟悉我的朋友会说:“您不是一个大忙人吗,怎么会浪费时间呢?”。因为我在很多朋友们的心中就是一个大忙人。是的,我也承认自己一直很忙,有时候忙的吃饭都是带回到宿舍来吃的。因为自己现在已经大三了,没有太多的时间去浪费,因为还有很多的事情等着我去做,比如学业,比如最近大家一直关心的暑假实习的问题,等等的这些我都要准备。或许对于一些读研的朋友,她们更加关心的将会是复习,报各种考研班(虽然我不是很赞成报考研班)啥的。出国的朋友准备外语什么的,反正是大家都在忙自己的事情,就如同我们宿舍,1个读研的,一个准备出国的,2哥准备工作的 阅读全文

Pimpl常用法

2012-03-27 23:30 by Rollen Holt, 440 阅读, 0 推荐, 收藏, 编辑
摘要:对于规模较大的C++项目,头文件的互包含和互依赖关系经常困扰开发者.例如:class foo{public:foo();void method_foo_b(const foo_a& b);private:void method_foo_c(const foo_b& c);private:foo_b b_;foo_c c_;};int main(...){foo fooi;}如果要使得main或者一个必须包含foo的class通过编译,则不仅需要包含foo头文件,还必须包含foo_b, foo_c的头文件.而实际上foo_b, foo_c是foo内部使用的类,完全不需要外部调用着 阅读全文

About Cast in C++(C++中的类型转换)

2012-03-27 23:22 by Rollen Holt, 341 阅读, 1 推荐, 收藏, 编辑
摘要:原文:http://hi.baidu.com/_%E2d_%B7%B3_%DE%B2%C2%D2/blog/item/b46a27d9dc50c0ed39012f8f.htmlC风格(C-style)强制转型如下:(T) exdivssion // cast exdivssion to be of type T函数风格(Function-style)强制转型使用这样的语法:T(exdivssion) // cast exdivssion to be of type T这两种形式之间没有本质上的不同,它纯粹就是一个把括号放在哪的问题。我把这两种形式称为旧风格(old-style)的强制转型。使用 阅读全文

C/C++语言中可变参数的用法

2012-03-27 22:39 by Rollen Holt, 761 阅读, 1 推荐, 收藏, 编辑
摘要:我们在C语言编程中会遇到一些参数个数可变的函数,例如printf()这个函数,它的定义是这样的:int printf( const char* format, ...);它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的,例如我们可以有以下不同的调用方法:printf("%d",i);printf("%s",s);printf("the number is %d ,string is:%s", i, s);究竟如何写可变参数的C函数以及这些可变参数的函数编译器是如何实现的呢?本文就这个问题进行一些探讨,希望能对大家 阅读全文

const_iterator和const iterator的区别

2012-03-27 21:14 by Rollen Holt, 635 阅读, 0 推荐, 收藏, 编辑
摘要:#include <iostream>#include <string>#include<fstream>#include <algorithm>#include <iterator>#include <vector>using namespace std;int _tmain(int argc, _TCHAR* argv[]){ vector<int> myVec; myVec.push_back(0); myVec.push_back(1); myVec.push_back(2); copy( myVec. 阅读全文
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 21 下一页