2012年7月16日

多态和C++多态的实现(汇总)

摘要: 多态概念:多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。引用Charlie Calverts对多态的描述——多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。多态指同一个实体同时具有多种形式。它是面向对象程序设计(OOD)的一个重要特征。如果一个语言只支持类而不支持多态,只能说明它是基于对象的,而不是面向对象的。简单点说:“一个接口,多种实现”,就是同一种事物表现出的多种形态。C 阅读全文

posted @ 2012-07-16 18:54 as_ 阅读(4082) 评论(1) 推荐(0) 编辑

百度2011校招笔试算法题二

摘要: 2、二重哥德巴赫猜想每个不小于6的偶数都可以表示为两个素数之和编写一个函数,输出6-100000内所有偶数可以表示为哪两个素数之和,如果一个偶素有多种表示方式,输出任意一种即可。代码实现(仅供参考):int ispri(int num){ for(int k=2;k<=num/2;k++) { if(!num%k) return 0; } return 1;}void judge(int number){ for(int j=1;j<number;j++) { if(ispri(j)) { ... 阅读全文

posted @ 2012-07-16 17:59 as_ 阅读(1236) 评论(0) 推荐(0) 编辑

百度2011校招笔试算法题一

摘要: 1.问题描述有一个单入口,单出口的有向无环图。给出一个算法,在已有结点之间插入若干结点,使得从入口结点到出口结点经过的任意路径长度一致,详细描述你的算法思路,并分析其时间复杂度和空间复杂度。2.算法思路首先深度遍历,计算出入口到出口的最长路径,然后重新深度遍历,遍历到出口节点之前计算此路径长度,如果计算出小于最长路径则插入节点,使这个路径等于最长路径。3.算法实现:(仅供参考)struct Edge{ VPoint *dest; Edge *next;}struct VPoint{ int id; int weight; Edge *adj;}int longe... 阅读全文

posted @ 2012-07-16 17:48 as_ 阅读(1404) 评论(0) 推荐(0) 编辑

进程和线程

摘要: 进程进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程是表示资源分配的基本单位,又是调度运行的基本单位。 进程特性:动态性,并发性,独立性,异步性 进程状态:1)就绪状态(Ready) 2)运行状态(Running) 3)阻塞状态(Blocked) 引起进程创建事件:1) 用户登录 2) 作业调度 3) 提供服务 4) 应用请求 调度算法:FIFO(First Input First Output 先进先出法)、RR(时间片轮转算法)、(HPF)最高优先级算法 进程间通信:1.管道(pipe)及有名管道(named pipe 阅读全文

posted @ 2012-07-16 16:42 as_ 阅读(1183) 评论(0) 推荐(0) 编辑

new/delete 和malloc/free 的区别一般汇总

摘要: 一、基本概念 malloc/free:1、函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。 void free(void *FirstByte): 该函数是将之前用malloc分配的空间还给程序或者是操作系统,也就是释放了这块内存,让它重新得到自由。2.内存操作: malloc函数的参数是接受需要分配的内存字节数,如果内存能够满足请求量,那么将会返回:指向被分配的内存块起始位置 free函数释放的是指针指向的内存(不是释放的指针本身,不会删除指针本身),其中指针 阅读全文

posted @ 2012-07-16 16:00 as_ 阅读(17827) 评论(2) 推荐(6) 编辑

导航