自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

日新为道的专栏

每天进步一点点,有一天你会发现牛人不过如此

  • 博客(33)
  • 资源 (4)
  • 收藏
  • 关注

原创 关于字符串hash函数的总结

占位,待补充!

2011-11-22 23:23:20 566

原创 每日一题【二】-数组元素去重

2.5亿个整数(范围是从1到2.5)中找出不重复的整数的个数,内存空间不足以容纳这2.5亿个整数。解决思路是利用bitmap,此处将问题简化,考虑一个数组,数组中保存这20个数,这些数的范围是1到20.编写函数将数组中重复的数字去掉,且占用的额外空间最小。#include #define byteSize 8#define numMax 20using namespa

2011-11-20 18:57:40 957

原创 c与c++中的文件操作【二】

c++在头文件fstream.h中定义了c++得文件流类体系,其体系结构图如下如所示:其中ofstream类实现数据写入到文件中的各种操作。程序举例1:将数组中的数据写入到指定的文本文件中,代码如下:代码待补充ifstream实现从文件中读数据的各种操作。程序举例:将文本文件中的数据读入到数组中,代码如下:代码待补充

2011-11-20 16:30:36 487

原创 每日一题【一】-求数组的子数组之和的最大值

题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。这个题目在编程100题及编程之美上都有相应解答,下面贴上自己的完整代码#incl

2011-11-20 11:55:09 861

转载 原码、反码及补码

在计算机内,定点数有3种表示法:原码、反码和补码所谓原码就是前面所介绍的二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。   反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。1、原码、反码和补码的表示方法(1)    原码:在数值

2011-11-18 23:03:45 626

原创 关于C++中STL中vector实现的几道考试题

1.调用成员函数push_back时,其内部的内存是如何分配的?答:该函数首先检查是否还有备用空间,如果有就直接在备用空间上构造元素,并调整迭代器finish,使vector变大。如果没有备用空间了,就扩充空间(重新配置、移动数据、释放原空间。)2、调用成员函数clear时,其内部是如何具体实现的?如果将其内存释放该如何操作?

2011-11-18 11:50:50 1231

原创 一道容易出错的笔试题

对比下面两个不同程序的输出:char s[10]="mysohu";s[0]=0;printf("%s\n",s)char *s="mysohu"; s[0]=0; //.. printf("%s\n",s);

2011-11-18 10:52:18 1234 4

原创 关于delete一个派生类时调用基类定义的virtual destructor的问题

基本了解了虚函数的机制,可是现在有一个问题,delete一个指向派生类的基类指针的时候(基类的析构函数定义为virtual),运行时是如何分别找到派生类与基类的析构函数的?

2011-11-17 22:15:29 799

原创 猴子选大王(约瑟夫环问题)两种解决方案

问题:有M只猴子围成一圈,按序每只从1到M中的编号,打算从中选出一个大王;经过协商,决定出选大王的规则:从第一个开始循环报数,数到N的猴子出圈,最后剩下来的就是大王。要求:从键盘输入M、N,编程计算哪一个编号的猴子成为大王示例:比如有5只猴子,从1到3报数,则选大王的步骤如下:第一次报数:1->2->3 //3淘汰出圈第二次报数:4->5->1 //1淘汰出圈第

2011-11-17 11:19:35 12612

原创 shell重定向的基本操作【一】

重定向操作对存储可执行文件的输出结果有很大帮助,特别市在需要逐行分析输出结果时使用。以下列出了部分常见的重定向操作实例。(1)cat将输入重定向到test01文件,此命令得以正常运行的条件是test01文件存在。示例如下:(2)cat>test02将标准的正确输出重定向到test02文件,将输入设备重定向到test01文件。要求test01文件存在。如果test02文件

2011-11-17 11:08:41 666

原创 终于有排名了,继续努力!

以后要养成在csdn写技术博客的习惯,今天终于有名次了,不是千里之外了。继续努力!

2011-11-16 23:36:50 497

原创 一道容易出错的招聘笔试题

大家猜一下程序的运行结果是什么?int main(int argc, char* argv[]){ char c=128; printf("c=%d\n",c); return 0;}

2011-11-15 19:02:25 627

原创 孤儿进程与僵尸进程【二】

在UNIX 系统中,一个子进程结束了,但是他的父进程没有等待(调用wait / waitpid)他, 那么这个子进程将变成一个僵尸进程。 但是如果该进程的父进程已经先结束了,那么该进程就不会变成僵尸进程, 因为每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程, 看有没有哪个进程是刚刚结束的这个进程的子进程,如果是的话,就由Init (进程号为1)来接管他,成为他的父进程,此时称这个进

2011-11-15 17:42:28 614

原创 孤儿进程与僵尸进程【一】

在UNIX 系统中,一个子进程结束了,但是他的父进程没有等待(调用wait / waitpid)他, 那么这个子进程将变成一个僵尸进程。 但是如果该进程的父进程已经先结束了,那么该进程就不会变成僵尸进程, 因为每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程, 看有没有哪个进程是刚刚结束的这个进程的子进程,如果是的话,就由Init (进程号为1)来接管他,成为他的父进程,此时称这个进

2011-11-15 17:31:07 619

原创 Effective c++之构造函数、析构函数和assignment运算符【二】

条款14:总是将base class拥有virtual destructor条款15:令operator=传回“*this的reference”条款16:在operator=中为所有的data members设定(赋值)内容条款17:在operator=中检查是否“自己赋值给自己”以上条款与2011年11月14日22:09改为已读!

2011-11-14 22:07:15 387

原创 2012年校园招聘百度【转自网络】

1.C++ STL里面的vector的实现机制,(1)当调用push_back成员函数时,怎么实现?(2)当调用clear成员函数时,做什么操作,如果要释放内存该怎么做。2. 函数foo找错,该函数的作用是将一个字符串中的a-z的字母的频数找出来void foo(char a[100],int cnt[256]){memset(cnt ,0, sizeof(cnt));

2011-11-14 11:49:36 875

原创 2012校园招聘的一道笔试题目

#include  using namespace std; struct Foo{ Foo() {} Foo(int) {} void fun() {} }; int main() { Foo a(10);//语句1 a.fun();//语句2 Foo b();//语句3 b.fun();//语句4 return 0; } A:语句

2011-11-14 11:42:42 623

原创 Effective c++之构造函数、析构函数和assignment运算符【一】

条款11:如果class内动态配置有内存,请为此class声明一个copy constructor和一个assignment运算符。条款12:在constructor中尽量以initialization动作取代assignment动作。条款13:initialization list中的members初始化次序应该和其他class内的声明次序相同。以上条款在2011年11月14日11:

2011-11-14 11:13:27 443

原创 类模板的定义和实例化

先看下面利用类模板的一个实例程序:#include using namespace std;template class Test{public: Test(T a,T b){ x=a; y=b; } T getMin(){ return x<y?x:y; } void show(){ cout<<"x="<<x<<'\t'<<"y="<<y<<endl; }

2011-11-11 19:35:13 2665

转载 关于Windows中的hook(钩子)【转自网络】

基本概念钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕

2011-11-11 12:03:24 851

原创 复制构造函数(拷贝构造函数)与赋值函数的区别

复制构造函数和赋值构造函数主要有以下两个区别:1)复制构造是一个对象初始化一块内存区域,这块内存就是新对象的内存区;例如:class A;A a;A b=a;//复制构造函数调用A b(a);//复制构造函数调用而赋值构造函数是对于一个已经被初始化的对象来进行赋值操作,例如:class A;A a;A b;a=b;//赋值函数调用2)实现不一样。复制

2011-11-11 11:46:40 735

转载 WINDOWS内核对象

WINDOWS内核对象 一.前言 Windows中有很多像进程对象、线程对象、文件对象等等这样的对象,我们称之为Windows内核对象。内核对象是系统地址空间中的一个内存块,由系统创建并维护。内核对象为内核所拥有,而不为进程所拥有,所以不同进程可以访问同一个内核对象。  二.内核对象结构 每个对象都有对象头和对象体组成。所有类型的对象头结构都是相同的,而结构体部

2011-11-10 17:09:47 550

转载 Trie树|字典树的简介

Trie树|字典树的简介Trie,又称字典树、单词查找树,是一种树形结构,用于保存大量的字符串,其核心思想是空间换时间。它的优点是:利用字符串的公共前缀来节约存储空间。相对来说,Trie树是一种比较简单的数据结构.理解起来比较简单,正所谓简单的东西也得付出代价.故Trie树也有它的缺点,Trie树的内存消耗非常大.当然,或许用左儿子右兄弟的方法建树的话,可能会好点.

2011-11-10 15:51:19 819

转载 阿里巴巴2012校园招聘笔试题【转自网络】

1、有一个虚拟存储系统,若进程在内存中占3页(开始时内存为空),若采用先进先出(FIFO)页面淘汰算法,当执行如下访问页号序列后1,2,3,4,5,1,2,5,1,2,3,4,5,会发生多少缺页?A、7                       B、8                            C、9                           D、102、设有一个顺

2011-11-07 21:05:46 9478 7

原创 C++虚函数表解析【二】

接c++虚函数表解析【一】如果一个类没有继承关系,且该类中定义了虚函数,那么这个类的实例只有一张虚函数表,如【一】所说明;对于一个单继承的类,即派生类的基类只有一个,如果它有虚函数,也只有一张虚函数表。但是,对于多重继承的类,它可能会有多张虚函数表。下面一一具体说明:还是以代码为例,看下面代码:class Base1{ public: Base1(

2011-11-06 23:25:21 985

原创 C++虚函数表解析【一】

虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。在这个表中,主要是一个类的虚函数的地址,这张表解决了继承、覆盖的问题,其内容真实反映了实际函数。这样,在有虚函数的类的实例中虚函数表被分配在实例的内存中,所以,当用父类的指针从操作一个子类的时候,这张虚函数表就显得尤为重要了,它就像一张地图,指明了实际所应该调用的函数。在C++的标准规格说明书中

2011-11-04 22:43:26 728

原创 关于assert

assert宏的原型定义在assert.h中,其作用是如果它的条件返回错误,则终止程序执行.   原型定义: 1#include "assert.h"2void assert( int expression );  assert的作用是现计算表达式 exp

2011-11-01 23:19:11 394

原创 关于volatile关键字

volatie是易变的、不稳定的意思。很多人根本就没见过这个关键字,不知道它的存在。也有很多程序员知道它的存在,但从来没用过它。volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。先看下面的例子:int i=1

2011-11-01 23:01:08 418

原创 关于内核空间与用户空间

首先,在目前CPU的保护模式下,系统需要对其赖以运行的资料进行保护,为了保证操作系统内核资料,我们把内存空间进行划分,一部分为操作系统内核运行的空间,另一部分是应用程序运行的空间,所谓空间就是内存的地址。因此内核空间和用户空间的概念就出现了。在386以前的CPU实模式下,操作系统内核与用户程序的内存空间是不做区分的,也就不存在内核空间和用户空间的说法了。    其次,CPU的保护模式的一个重大

2011-11-01 21:02:18 549

转载 迅雷2012校园招聘笔试题

1、下面的程序可以从1....n中随机输出m个不重复的数。请填空knuth(int n, int m){         srand((unsigned int)time(0));       for (int i=0; i          {                 if (            )                  {

2011-11-01 16:38:51 822

转载 亚信联创2012校园招聘笔试题【转自网络】

1、对于如下程序:view plain#include    using namespace std;  class A  {  public:      A()      {          cout"A"    }  };    int  main(void)  {      A a[4], b,*p;

2011-11-01 16:20:52 1459

转载 搜狗2012年校园招聘笔试题【转自网络】

1、下面代码中for循环共执行了多少次?view plainunsigned short i,j;      for(i=0, j=2; i!=j; i+=5, j+=7)      {}  unsigned short占用2个字节,当数据范围到头了(2^16-1),就又从0开始计数了,这个其实就是两辆汽车行驶在一个圆圈里的汽车追及问题。一个速度

2011-11-01 16:18:37 1688

转载 C++ 虚函数表解析

C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel  前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R

2011-11-01 16:16:17 421

程序员面试精选100题【附答案】

不错的资源,涵盖了很多大公司笔试面试的算法题目,内容不仅共享了题目,而且也有翔实的答案,多读几遍,对笔试面试很有帮助,预祝大家找到好的工作。同时谢谢资源的原始创作者。

2011-10-11

Intel Threading Building Blocks编程指南

学习并行编程不错的教材,希望对大家有帮助。

2011-03-21

tbb入门中文材料(getstart)

tbb不错的入门教材,希望对大家有帮助.该文档详细介绍了tbb的安装及基本的使用。

2011-03-11

go语言编程教程(go-0.1-0.3)

学习go语言不错的编程教程,内容比go-course(1-3)及effective-go更翔实,而且配有不错的例题,测试题及解答。

2011-03-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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