自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 求两个有序数组的中位数

在叙述问题之前,重新叙说一下分治策略的思想:将一个难以直接解决的大问题,分割成一些规模较小的相同的问题,以便各个击破,分而治之。     中位数问题:设X[0:n-1]和Y[0:n-1]为两个数组,每个数组中含有N个 已经排好序的数。试设计一个O(logn)时间算法,找出X和Y的2N个数的中位数。     解决问题的核心:找出将大问题分割成较小规模的相同问题的切割点,并递归定义

2012-09-21 10:05:35 973

原创 const常量和#define宏常量的区别

C++可以用const定义常量,也可以使用#define来定义常量,但是前者比后者有更多的优点:1,const常量有数据类型,而宏常量没有数据类型,编译器可以对前者进行静态类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能产生意想不到的错误(边际效应)2,有些集成化的调试工具可以对const常量进行调试,但是不能对宏常量进行调试。 所以在C++中应尽量使用

2012-09-18 16:38:35 3476

原创 strcpy 和memcpy有什么不同

strcpy 和memcpy有什么不同strcpy()函数只能拷贝字符串。strcpy()函数将源字符串的每个字节拷贝到目的字符串中。当遇到字符串末尾的NULL字符('\0')时,它会结束拷贝,并在目的字符串后面自动加上'\0'memcpy()函数可以拷贝任意类型的数据。因为并不是所有的数据都已NULL字符结束,所以要为memcpy()函数指定要拷贝的字节数。自拷贝字符串时,通

2012-09-18 16:11:14 641

转载 软件成熟度模型CMM

CMM 为企业的软件过程能力提供了一个阶梯式的进化框架,阶梯共有五级。第一级只是一个起点,任何准备按CMM 体系进化的企业都自然处于这个起点上,并通过它向第二级迈进。除第一级外,每一级都设定了一组目标,如果达到了这组目标,则表明达到了这个成熟级别,可以向下一级别迈进。   从纯粹的个人行为发展到有计划有步骤的组织行为…   第一级:初始级(Initial);   第二级

2012-09-18 10:44:11 641

转载 常用的测试方法

1. 黑盒测试     黑盒测试顾名思义就是将被测系统看成一个黑盒,从外界取得输入,然后再输出。整个测试基于需求文档,看是否能满足需求文档中的所有要求。黑盒测试要求测试者在测试时不能使用与被测系统内部结构相关的知识或经验,它适用于对系统的功能进行测试。    黑盒测试的优点有:     1)比较简单,不需要了解程序内部的代码及实现;     2)与软件的内部实现无关;

2012-09-18 10:32:53 1226

原创 java中error和exception的区别

Error类和Exception类的父类都是throwable类,他们的区别是:Error类一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢等。对于这类错误的导致的应用程序中断,仅靠程序本身无法恢复和和预防,遇到这样的错误,建议让程序终止。Exception类表示程序可以处理的异常,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该

2012-09-18 10:16:22 46774

转载 C++虚函数和纯虚函数的区别

C++虚函数和纯虚函数的区别1.虚函数和纯虚函数可以定义在同一个类中,含有纯虚函数的类被称为抽象类,而只含有虚函数的类不能被称为抽象类。2.虚函数可以被直接使用,也可以被子类重载以后,以多态的形式调用,而纯虚函数必须在子类中实现该函数才可以使用,因为纯虚函数在基类有声明而没有定义。3.虚函数和纯虚函数都可以在子类中被重载,以多态的形式被调用。4.虚函数和纯虚函数通常存在

2012-09-18 09:45:09 786

翻译 strcut和class的区别

C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。struct能包含成员函数吗? 能!struct能继承吗? 能!!struct能实现多态吗? 能!!! 既然这些它都能实现,那它和class还能有什么区别?最本质的一个区别就是默认的访问控制: 默认的继承访问权限struct是public的,cl

2012-09-18 09:42:14 693

转载 malloc/free与new/delete的区别

相同点:都可用于申请动态内存和释放内存不同点:(1)操作对象有所不同。malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之前要自动执行析构函数。由于malloc/free 是库函数而不是运算符,不在编译器控制权限之内,不

2012-09-14 10:47:37 295

转载 进程和线程的区别

1、简述进程和线程的异同    进程是指运行中的应用程序,每一个进程都有自己独立的内存空间。一个应用程序可以同时启动多个进程。例如对于IE浏览器程序,每打开一个IE浏览器窗口,就启动了一个新的进程。同样,每次执行JDK的java.exe程序,就启动了一个独立的Java虚拟机进程,该进程的任务是解析并执行Java程序代码。    线程是指进程中的一个执行流程,有时也称为执行情景。一个进程可以

2012-09-12 11:05:01 426

转载 C/C++中extern中的作用

1、 声明外部变量  现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是  互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部。下面举一个简单的例子。创建一个工程,里面含有A.cpp和B.cpp两个简单的C++源文件:  //A.cpp  int i;  void main()  {  }  //B.

2012-09-11 17:01:02 906

转载 C/C++中static的作用

static关键字是C,   C++中都存在的关键字,   它主要有三种使用方式,   其中前两种只指在C语言中使用,   第三种在C++中使用(C,C++中具体细微操作不尽相同,   本文以C++为准).(1)局部静态变量 (2)外部静态变量/函数 (3)静态数据成员/成员函数 下面就这三种使用方式及注意事项分别说明 一、局部静态变量 在C/C++中,   局部变

2012-09-11 16:54:55 1024

转载 extern C的作用

extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般之包括函数名。     这个功能十分有用处

2012-09-11 16:13:26 740

原创 最长回文子串(manacher算法实现)

#includeusing namespace std;#define M 1000void Manacher(char *str,char*maxpalindrome )//str接受原始字符串  maxpalindrome存储最长回文子串{ int i,j; int maxrad=0,position=0;//记录最长回文半径和出现最长回文半径的地方    in

2012-09-08 16:33:43 294

原创 最长回文子串(manacher算法实现)

#includeusing namespace std;#define M 1000void Manacher(char *str,char*maxpalindrome )//str接受原始字符串  maxpalindrome存储最长回文子串{ int i,j; int maxrad=0,position=0;//记录最长回文半径和出现最长回文半径的地方    in

2012-09-08 16:29:56 308

转载 用一个宏定义FIND求一个结构体struct里某个变量相对struc的编移量

用一个宏定义FIND求一个结构体struct里某个变量相对struc的编移量.如:stuct student { int a; char b[20]; double ccc; } 则: FIND(student,a); //等于0 FIND(student,b);//等于4#define FIND( struc, e ) (size_t)&(

2012-09-05 09:20:07 971

转载 typedef和#define的区别

typedef和#define的区别    使用宏定义的重命名常量的好处:程序易读性强;便于维护和修改; 1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。例如:#define PI 3.1415926 程序中的:area=PI*r*r 会替换为3.14

2012-09-05 08:41:23 350

转载 C++string类的c_str()函数

标准库的string类提供了3个成员函数来从一个string得到c类型的字符数组:c_str()、data()、copy(p,n)。1. c_str():生成一个const char*指针,指向以空字符终止的数组。注:①这个数组的数据是临时的,当有一个改变这些数据的成员函数被调用后,其中的数据就会失效。因此要么现用先转换,要么把它的数据复制到用户自己可以管理的内存中。注意。看下例:

2012-08-14 09:21:52 2236

转载 Java中抽象类和接口的区别

JAVA中的抽象类与接口的区别。 首先,我们来看一下抽象类的概念,java编程思想中说“万物皆对象”,我们知道所有的对象都是通过类来描绘的,但是反过来却不是这样。并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类是表征我们对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。好比,我们都

2012-08-14 09:20:44 421

原创 JAVA中的关键字--this和super

super关键字:在子类对象中引用父类的成分(包括父类的成员变量和成员方法)class FatherClass                                                //定义父类{          public int value;          public void f()          {

2012-06-23 10:08:34 377

空空如也

空空如也

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

TA关注的人

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