- 博客(20)
- 资源 (6)
- 收藏
- 关注
转载 简单背包问题的递归与非递归实现
原文地址:http://www.cnblogs.com/LarmanYuan/archive/2009/05/27/1491024.html简单背包问题:有一个背包,能盛放的物品总重量为s,设有n件物品,其重量分别为w1,w2,...,wn.希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于s。递归算法代码#include "stda
2013-09-11 11:42:15
1827
转载 虚继承---虚基类 菱形继承关系
虚继承就是虚基类的使用;引入虚基类的目的是为了解决类继承过程中产生的二义性问题;这种二义性问题常见于具有菱形继承关系的类中;比如:有四个类:A、B、C、D;它们之间的继承关系是:B继承A,C继承A,D继承B和C;这就形成了一个菱形的继承关系;具有这种继承关系的图叫做有向无环图;那么类D就有两条继承路径:D-->B-->A和D-->C-->A;而类A是派生类D的两条继承路径上的公共基类,
2013-09-10 15:13:20
971
转载 虚函数与虚继承寻踪
原文地址:http://www.cnblogs.com/fanzhidongyzby/archive/2013/01/14/2859064.htmlPS:本文黑色的图片是本人添加进去的。主要是为了显示MyclassA和MyClassB在内存中的模型。有助于理解虚拟继承的概念。封装、继承、多态是面向对象语言的三大特性,熟悉C++的人对此应该不会有太多异议。C语言提供的struct,顶
2013-09-10 11:26:24
1240
转载 有关二叉树操作的代码实现
原文地址:http://www.cnblogs.com/dolphin0520/archive/2011/08/25/2153720.html二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方
2013-08-08 10:40:36
927
转载 C语言中史上最愚蠢的Bug
本文来自“The most stupid C bug ever”,很有意思,分享给大家。我相信这样的bug,就算你是高手你也会犯的。你来看看作者犯的这个Bug吧。。首先,作者想用一段程序来创建一个文件,如果有文件名的话,就创建真正的文件,如果没有的话,就调用?tmpfile()?创建临时文件。他这段程序就是HTTP下载的C程序。code==200就是HTTP的返回码。else if
2013-05-14 16:02:15
850
原创 2013年阿里巴巴实习生招聘笔试题
如果有哪位大侠对这些题目有兴趣,欢迎评论。本人希望多多交流,共同进步!一,单项选择1. 以下描述错误的是:A、读取SATA硬盘数据的速度约为500Mbps.B、读取18XDVD光盘数据的速度约为1Gbps.C、千兆以太网的数据读取速度约为1Gbps.D、读取DDR3内存数据的速度约为100Gbps.这一题没找到答案。请大侠指点!2.不能用于Linux中进程间通信的有
2013-05-07 20:49:34
1968
转载 C/C++中关键字CONST详解
文章原文地址: http://www.cnblogs.com/yc_sunniwell/archive/2010/07/ 为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替),分类如下: 常变量: const 类型说明符 变量
2013-05-06 09:34:26
940
转载 数组名与数组名取地址的区别
以下代码会打印出什么样的日志呢?[cpp] view plaincopy#include int a[2] = {1,2}; int main(){ printf("a = %p\n", a); // I printf("&a = %p\n", &a); // II
2013-05-05 08:12:57
729
转载 C语言中的隐式类型转换
隐式类型转换一直困惑了本人很久,今天终于抽出了时间对其进行了梳理和总结,并且对其有了清楚的认识。现在整理出来和大家分享,希望更多的人能了解其中的奥秘!:)所谓隐式类型转换就是在编译时由编译程序按照一定规则自动完成,而不需人为干预。因此,在表达式中如果有不同类型的数据参与同一运算时,编译器就在编译时自动按照规定的规则将其转换为相同的数据类型。C语言规定的转换规则是由低级向高级转换。例
2013-05-04 09:04:28
1259
转载 值类型和引用类型的区别
似乎“值类型和引用类型的区别”是今年面试的流行趋势,我已然是连续三次(目前总共也就三次)面试第一个问题就遇到这个了,这是多大的概率啊,100%,哈哈,我该买彩票去!言归正传,咱还是先来探讨探讨这二者之间有什么区别吧。记得有一次电话面试中,我直接跟面试官说:“值类型是现金,引用类型是存折”,后来想想当时说这话虽是有点儿冲动地脱口而出,但也没什么不妥。我这人不善于背理论的教条,喜欢把书本上那些
2013-05-01 20:53:11
894
转载 C++中Struct关键字
C++之父Bjarn Stroustrup对C++语言概括的第一条就是"a better C"。strUCt这个关键字就来源于C。而在C++中,struct的含义已经和C中的struct不尽相同了。在C++中,用户定义类型,也就是class,拥有和内建类型一样的地位。这可以从C++中struct定义的类型在声明变量时不必再写出struct关键字看出。如 struct Foo {
2013-05-01 20:37:00
937
转载 C++ 中的动态绑定
C++中基类和派生类遵循类型兼容原则:即可用派生类的对象去初始化基类的对象,可用派生类的对象去初始化基类的引用可用派生类对象的地址去初始化基类对象指针。C++中动态绑定条件发生需要满足2个条件:1:只有指定为虚函数的成员函数才能进行动态绑定,成员函数默认为非虚函数,非虚函数不能进行动态绑定2:必须通过基类类型的引用或指针进行函数调用基类类型引用和指针的关键点在于静态
2013-04-30 22:13:40
886
转载 CONST关键字笔记
const修饰的值并不是常量,而是只读的变量。其值在编译时不能被使用,因为编译器在编译时不知道其存储的内容。C++ 里 const 变量一般默认 static 连接方式也就是其它 .cpp 文件看不到,所以用 extern 声明也没用可将 const 变量的声明放在 .h 文件里,需要使用此常量的 .cpp 都 #include 它编译器通常不为普通const只读变量分
2013-04-25 22:46:25
723
原创 一个整形数的二进制形式中“1”的个数
今天在阅读《程序员面试宝典》这本书的时候看到了,这么一段程序代码:#includeusing namespace std;int func(int x){int count = 0;while(x){count++;x = x&(x-1);}return count;}int main(){cout return 0;}相信很
2013-04-21 22:24:14
1056
转载 单链表判环判交
【摘要】有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。1、如何判断一个链表是不是这类链表?2、如果链表为存在环,如果找到环的入口点?扩展:判断两个单链表是否相交,如果相交,给出相交的第一个点。有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。问题:1、如何
2013-04-20 10:59:41
756
转载 寻找数组中的最大值和最小值
问题描述:给出一个数组,包含N个整数,那么需要比较多少次找到最大值和最小值注意:要想得到最大值和最小值,遍历一遍数组是不可避免的。我们能减少的就是减少比较次数来提高效率方法一、遍历一遍数组,同时得到最大值和最小值具体是,定义一个max 和 min,每遍历一个数,就分别和max 和 min比较一次,直到处理完所有的数据比较次数: N+N = 2N方法二、我们可
2013-04-18 11:30:55
1050
转载 详解大端模式和小端模式
一、大端模式和小端模式的起源 关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,就下令,命令所有的子民吃鸡蛋的时候,必
2013-04-18 09:10:25
502
转载 MATLAB中norm()函数的应用
格式:n=norm(A,p)功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数以下是Matlab中help norm 的解释NORM Matrix or vector norm. For matrices... NORM(X) is the largest singular value of X, max(svd(X)).
2013-04-17 11:18:46
3354
转载 调用约定
前些天参加了一次微软的实习生招聘的笔试题,遇到了这么一个问题:which of the following conversion(s) support(s) supportvariable-length parameter:A. cdecl B. stdcall C. pascal D fastcall而解答就在这篇文章里::)
2013-04-15 17:22:22
568
转载 C++堆、栈、自由存储区、全局/静态存储区和常量存储区
一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量
2013-04-15 17:18:18
494
汉诺塔实现算法
2012-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人