10 2014 档案
摘要:转自Reversing a Linked List in Java, recursivelyThere's code in one reply that spells it out, but you might find it easier to start from the bottom up, ...
阅读全文
摘要:转自通过金矿模型介绍动态规划对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂,无异性,不让读者感到迷惑,引导读者去思考,所以如果你在阅...
阅读全文
摘要:英文原文:jtraining,译文:Lixiang引言我们都听过 cache,当你问他们是什么是缓存的时候,他们会给你一个完美的答案,可是他们不知道缓存是怎么构建的,或者没有告诉你应该采用什么标准去选择缓存框架。在这边文章,我们会去讨论缓存,缓存算法,缓存框架以及哪个缓存框架会更好。面试“缓存就是存...
阅读全文
摘要:转自互斥锁Mutex与信号量Semaphore的区别多线程编程中,常常会遇到这两个概念:Mutex和Semaphore,两者之间区别如下:有人做过如下类比:Mutex是一把钥匙,一个人拿了就可进入一个房间,出来的时候把钥匙交给队列的第一个,一般的用法是用于串行化对临界区代码的访问,保证这段代码不会被...
阅读全文
摘要:转自c/c++强制类型转换Q:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么?为什么要注意?A:转换的含义是通过改变一个变量的类型为别的类型从而改变该变量的表示方式。为了类型转换一个简单对象为另一个对象你会使用传统的类型...
阅读全文
摘要:转自c++中的隐藏、重载、覆盖(重写)1 重载与覆盖成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual关键字可有可无。 覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;...
阅读全文
摘要:转自运算符重载详解1.运算符重载定义:C++中预定义的运算符的操作对象只能是基本数据类型。但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作。这时就必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作。运算符重载的实质是函数重载,它提供了C++的...
阅读全文
摘要:转自类的大小——sizeof 的研究(1) 类的大小——sizeof 的研究(2.虚函数继承)先看一个空的类占多少空间?[cpp]view plaincopyclassBase{public:Base();~Base();}; 注意到我这里显示声明了构造跟析构,但是sizeof(Base)的结...
阅读全文
摘要:转自C++ static、const和static const 以及它们的初始化const定义的常量在超出其作用域之后其空间会被释放,而static定义的静态常量在函数执行后不会释放其存储空间。 static表示的是静态的。类的静态成员函数、静态成员变量是和类相关的,而不是和类的具体对象相关的。即使...
阅读全文
摘要:转自说出static和const关键字尽可能多的作用 static关键字至少有下列n个作用:函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访...
阅读全文
摘要:参考Problem with ap-hotspot问题描述:This is the message displayed in my terminal screen when I typedsudo ap-hotspot startAnother process is already runningW...
阅读全文
摘要:转自探索c++的底层机制在看这篇文章之前,请你先要明白一点:那就是c++为我们所提供的各种存取控制仅仅是在编译阶段给我们的限制,也就是说是编译器确保了你在完成任务之前的正确行为,如果你的行为不正确,那么你休想构造出任何可执行程序来。但如果真正到了产生可执行代码阶段,无论是c,c++,还是pascal...
阅读全文
摘要:转自const变量的存储区及修改权限[cpp]view plaincopyconstinta=1;int*p=const_cast(&a);*p=2;cout<<“valuea=”<<a<<endl;cout<<“value*p=”<<*p<<endl;cout<<“addressa=”<<&a<<...
阅读全文
摘要:转自c语言的自动类型转换自动转换遵循以下规则:1)若参与运算量的类型不同,则先转换成同一类型,然后进行运算。2)转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。a.若两种类型的字节数不同,转换成字节数高的类型b.若两种类型的字节数...
阅读全文
摘要:转自编程珠玑(五):寻找变位词1.问题描述今天的问题是关于变位词的,首先来看问题的描述:给定一本英语单词词典,请找出所有的变位词集。所谓的变位词是指,组成各个单词的字母完全相同,只是字母排列的顺序不同。比如,pots、stop、tops就是变位词。2.解决思路思路一对组成单词的字母进行组合,针对每一...
阅读全文
摘要:转自编程语言范式许多现存的编程语言都可基于其计算模型加以分类,归入某些语言族,或者属于某种编程范式。按照不同的规则,可以有多种分类的方法,而且不同的学者对某些语言的具体归属也有不同的意见。这里我们给出一种语言谱系:说明式(Declarative) 函数式 Lisp,ML,Haskell 数据流 ...
阅读全文
摘要:参考自linux下如何清空(刷新)stdin缓冲区首先,fflush在C/C++/POSIX标准中只定义了处理输出流的行为,对于像stdin这种输入流,这是未定义行为undefined behavior,随便C/C++库怎么去实现都不算错。即使某个C/C++库对fflush(stdin)的处理是删除...
阅读全文
摘要:安装过程请参考Ubuntu 14.04下安装Caffeine 2.6.2 阻止显示器进入睡眠状态至于为什么不显示在任务栏,这不是程序的bug,你可以平ps -e看一下,任务已经在运行。其实这是新版本的特性,应广大使用者的号召,省去了多余的任务栏图标。但是如果你已经习惯了他在任务栏中的样子,可以安装C...
阅读全文
摘要:一个用动画和声音来演示各种排序算法的项目
阅读全文
摘要:康托展开的wiki介绍申明:1.用c语言实现。2.for中的i,j定义适用于c99标准,gcc编译要添加-std=c99选项。或者将i,j的定义放到for之前的外部作用域。3.逆运算使用了c99标准的VLA,即变长数组,只能用于局部作用域,且声明时不能初始化;也可以不用VLA,使用malloc等从堆...
阅读全文
摘要:转自输出一个集合的所有子集(算法)时间复杂度很显然,最少也是2^n,空间复杂度,是n,代码比较简单(每个元素要么在子集中,要么不在,用 j 的二进制形式的每一位代表数组a中对应的位置的元素是否在子集中,例如,当i = 5时, j = i = 5,那么j = 0101; 我们对应的输出 a[0], a...
阅读全文

浙公网安备 33010602011771号