自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

翻译 写出几种常用的排序算法以及执行效率

1 插入排序void insertion_sort(int* array,int len){  int i,j,key; for(j = 1; j   key = array[j];  i = j - 1;  while(i >= 0 && array[i] > key){   array[i + 1] = array[i];   i--;  }  array[i + 1] = key; }}

2007-09-04 15:34:00 940

原创 二叉树的遍历(非递归算法)

二叉树的遍历是面试中比较常见的问题,而且一般不会考你用递归的方法来实现。面试前准备一下非递归的算法还是有必要的。                                                                                               A                                          

2007-08-29 10:31:00 1439

原创 监视其它进程中某一内存的数据的变化

  怎么样才能得知其他进程中某一内存的内容发生了变化?有几个条件我想首先说明一下,在win32系统下想实时得到其他进程一段内存的内容变化是不可能的。唯一的可能是定时扫描。另外如果想要得知内核态内存的变化也是不太容易实现(姑且允许我这么我这么说,因为在方面我没有进行深入的调查)。还有CPU的要求我现在只是针对intel,因为手头没有AMD的CPU,所以就没有测试过。   如果想要实时得到其他进程

2007-08-28 07:08:00 2081 1

原创 鬼谷子 猜数问题

这个问题的答案是13和4,原理我这里先不解释,先贴一段解决这个问题的代码 ,如下所示:void Guess(){int Num = 100; int y = 0; BOOL find = FALSE; int *PrimeBuffer = new int[100]; memset(PrimeBuffer, 0 , sizeof(int) * 100); int *PrimeNum =

2007-08-28 07:05:00 2807

原创 12小球称重问题

题目:已知有12个小球,一样的形状和外观,其中有一个是次品,现在给你一个无砝码的天平,称三次,把这个次品找出来,并且求出这个次品相对真品是偏重还是偏轻?解答:首先把小球分成三堆,每堆四个。          A:(1,2,3,4)    B:(5,6,7,8)    C:(9,10,11,12)情况 一:1 第一称重随便拿出两堆来称, 这里不妨假设拿出A和B              

2007-08-28 06:56:00 5757 3

翻译 字符串的逆向输出

比如说给定一字符串 " I Love ShanLiJuan " 那么它的逆向输出就是"ShanLiJuan Love I  "  这里空白符作为单词的分割符。方案一: 使用标记法,需要一个缓存区。但是比较容易理解, 就是逆向扫描源字符串,把每个单词正向拷贝到缓存区,代码如下:void ReverseWord(char* p_string){ int word_read_pos = 0;

2007-08-27 09:56:00 1457

翻译 字符串的全排列

假如给定一字符串“ABCDE” 编写一段程序输出它的全排列,代码如下:void DoPermute(char* in, char* out,char* used,int length,int recurse_level){    int i;   if(recurse_level == length)   {       printf("%s/n",out); //print permutat

2007-08-27 09:28:00 624

翻译 删除特定字符

用C语言编写一个高效率的函数来删除字符串里的给定字符。这个函数的调用模型如下所表示:void RemoveChars(char* str,char* remove);Answer:void RemoveChars(char* str,char* remove){  int src,dst,remove_array[256];  /* zero all element in ar

2007-08-26 22:31:00 704

翻译 统计给定一个整数以二进制表达时含有1的个数

int OneInInteger(int number){  int count = 0;  while(number){     number = number & (number - 1);    count++;  }  return count;}

2007-08-26 22:11:00 659

翻译 判断字节的升序存储还是降序存储(little-endian or big-endian)

int Endianee(void){   union{    int the_integer;   char the_single_byte;  }ENDIAN;  ENDIAN endian;  endian.the_integer = 1;  return endian.the_single_byte;}

2007-08-26 22:06:00 776

原创 两线段相交的快速判断-叉积的一个应用

 设两个有向线段p1p2,p3p4 ,判断他们是否相交的充分必要条件是: p1, p2 位于包含p3,p4的直线的两侧,而且p3,p4也位于包含p1,p2的直线的两侧。另外还要考虑边界条件。下面是伪代码:SEGMENTS-INTERSECT(p1, p2, p3, p4) 1 d1 ← DIRECTION(p3, p4, p1) 2 d2 ← DIRECTION(p3, p

2006-09-01 13:57:00 3592

原创 SEH结构化异常处理

千言万语从何说起呢?嗯,还是先说说SEH的特点吧:SEH的优点在于当你编写代码的时候,可以集中注意力完成任务,如果在运行的时候出现了问题,系统会捕获到错误并且通知你出了问题.使得SEH工作的任务主要落在编译器而不是操作系统上.当进入,退出异常块时候,你的编译器必须产生特殊的代码.编译器必须产生处理SEH的数据结构,还必须提供操作系统能调用的回调函数来使得异常块能被遍历.编译器还负责准备栈框

2006-06-04 07:39:00 2523 5

转载 (SEH)结构化异常处理ABC

千言万语从何说起呢?嗯,还是先说说SEH的特点吧:SEH的优点在于当你编写代码的时候,可以集中注意力完成任务,如果在运行的时候出现了问题,系统会捕获到错误并且通知你出了问题.使得SEH工作的任务主要落在编译器而不是操作系统上.当进入,退出异常块时候,你的编译器必须产生特殊的代码.编译器必须产生处理SEH的数据结构,还必须提供操作系统能调用的回调函数来使得异常块能被遍历.编译器还负责准备栈框

2006-06-04 07:32:00 1214

原创 C++ 中临时对象的陷阱

 在问题叙述之前,我们先来看一段代码。class MyString{public:  char* GetBuffer() const  {    return m_pBuffer;  }private:  void CopyContent(const char* pSrc)  {    m_pBuffer = new char [strlen(pSrc) + 1];    strcpy

2006-05-04 09:42:00 1126 1

原创 条款24 成员函数查找

  成员函数的查找过程要涉及到三个步骤。首先,编译器查找函数的名字,然后从后续的函数选择一个最匹配的函数,最后,编译器检查函数的访问权限。 大多数与函数名不匹配的错误并不是编译器本身的问题,而是我们对成员函数查找机制的理解有问题。考虑下面的代码:   class B { public: //... void f( double );};class D

2006-05-01 08:51:00 773

空空如也

空空如也

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

TA关注的人

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