摘要:引子 “请写一个Singleton。”面试官微笑着和我说。 “这可真简单。”我心里想着,并在白板上写下了下面的Singleton实现: 1 class Singleton 2 { 3 public: 4 static Singleton& Instance() 5 { 6 static Singleton singleton; 7 return singleton; 8 } 9 10 private:11 Singleton() { };12 }; “那请你讲解一下该实现的各组成。”面试官的脸上仍然带着微笑。 “首先要说的...
阅读全文
摘要:作者:Dong|可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址:http://dongxicheng.org/structure/segment-tree/1、概述线段树,也叫区间树,是一个完全二叉树,它在各个节点保存一条线段(即“子数组”),因而常用于解决数列维护问题,它基本能保证每个操作的复杂度为O(lgN)。2、线段树基本操作线段树的基本操作主要包括构造线段树,区间查询和区间修改。(1) 线段树构造首先介绍构造线段树的方法:让根节点表示区间[0,N-1],即所有N个数所组成的一个区间,然后,把区间分成两半,分别由左右子树表示。不难证明,这样的线段树的节点数只有2N
阅读全文
摘要:很久以前写的一篇文章,因为另一篇博客太老了,所以转过来,不想去查那篇博客了。private, public, protected 访问标号的访问范围。private: 访问范围:1.该类的成员函数。2.其友元函数访问。不能被任何其他访问,该类的对象也不能访问。protected:访问范围:1.该类的成员函数。2.派生类中的函数(包括派生类友元函数)。3.其友元函数访问。但不能被该类的对象访问。public:访问范围:1.该类的成员函数。2.派生类中的函数(包括派生类友元函数)。3.其友元函数访问。4.该类的对象访问。友元函数包括3种:设为友元的普通的非成员函数;设为友元的其他类的成员函数;设为
阅读全文
摘要:陈皓http://blog.csdn.net/haoel前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从虚函数的实现机制上面为大家一个清晰的剖析。当然,相同的文章在网上也出现过一些了,但我
阅读全文
摘要:1 // 一道有趣的面试题.cpp : 定义控制台应用程序的入口点。 2 3 /************************************************* 4 设计者:cslave 5 版本说明:本代码免费用于商用,拷贝,转移,使用,但是 6 有本代码导致的问题,本人概不负责。 7 设计时间:2012.7.10 8 分发原则:遵守GNU规范。 9 **************************************************/ 10 /******************************...
阅读全文
摘要:View Code 1 // 搜狐一道题.cpp : 定义控制台应用程序的入口点。 2 // 3 4 /********************************* 5 一数组前半部分已经有序,后半部分也有序,先要求在 6 O(1)的空间下实现对该数组的排序。 7 8 关于归并排序 9 10 1 实现o(1)空间的原地排序算法 11 12 2 实现辅助数组的归并排序算法 13 14 15 16 17 *********************************/ 18 19 #include "stdafx.h" 20 #include <io...
阅读全文
摘要:计算机科学的新学生通常难以理解递归程序设计的概念。递归思想之所以困难,原因在于它非常像是循环推理(circular reasoning)。它也不是一个直观的过程;当我们指挥别人做事的时候,我们极少会递归地指挥他们。对刚开始接触计算机编程的人而言,这里有递归的一个简单定义:当函数直接或者间接调用自己时,则发生了递归。递归的经典示例计算阶乘是递归程序设计的一个经典示例。计算某个数的阶乘就是用那个数去乘包括 1 在内的所有比它小的数。例如,factorial(5)等价于5*4*3*2*1,而factorial(3)等价于3*2*1。阶乘的一个有趣特性是,某个数的阶乘等于起始数(starting nu
阅读全文
摘要:/************************************************* 设计者:cslave 版本说明:本代码免费用于商用,拷贝,转移,使用,但是 有本代码导致的问题,本人概不负责。 设计时间:2012.7.6 分发原则:遵守GNU规范。如有错误麻烦请通知本人谢谢。 **************************************************//*********************************************题目描述:人民币有 1元 2元 5元 10元 20元 50 元 100元 这几种币值.问:给定200元,..
阅读全文
摘要:View Code 1 能否快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值 2 3 /************************************************* 4 设计者:cslave 5 版本说明:本代码免费用于商用,拷贝,转移,使用,但是 6 有本代码导致的问题,本人概不负责。 7 设计时间:2012.6.25 8 分发原则:遵守GNU规范。 9 **************************************************/ 10 11 // 快速寻找满足条件的两个数.cpp : 定义控制...
阅读全文