代码改变世界

c++ ifstream ofstream 文件流

2013-11-12 11:11 by youxin, 1382 阅读, 0 推荐, 收藏,
摘要:#include ofstream //文件写操作 内存写入存储设备 ifstream //文件读操作,存储设备读区到内存中fstream //读写操作,对打开的文件可进行读写操作 打开文件:voidopen(constchar*filename,ios_base::openmodemode=ios_base::in|ios_base::out); 或ifstream if("data.txt"); 默认构造函数和open原型一样。本文件的读写类ofstream, ifstream 和fstream 是分别从ostream, istream 和... 阅读全文

双层桶划分

2013-11-11 22:02 by youxin, 1141 阅读, 0 推荐, 收藏,
摘要:【什么是双层桶】事实上,与其说双层桶划分是一种数据结构,不如说它是一种算法设计思想。面对一堆大量的数据我们无法处理的时候,我们可以将其分成一个个小的单元,然后根据一定的策略来处理这些小单元,从而达到目的。【适用范围】第k大,中位数,不重复或重复的数字【基本原理及要点】因为元素范围很大,不能利用直接寻... 阅读全文

文艺编程 Literate Programming

2013-11-11 21:37 by youxin, 1664 阅读, 0 推荐, 收藏,
摘要:(译注:这篇文章是 Donald Knuth 一篇1983年的论文:Literate Programming的介绍部分。有人翻译为“字面编程”,是极其错误的说法,literate 根本就没有“字面”这个意思,字面的英文单词是 literal, literate 意指能读能写,Donald Knuth 同时也认为编程是一门艺术,因此将其译为“文艺编程”,甚为妥当。论文发表近30年,未见谁真正用好了LP。译此文,希望能更正至今都错误的中文译法。保守估计,10年内 LP 仍然不会流行起来,因为没有谁既是伟大的作家,又是伟大的程序员 —— 除了 Donald Knuth)The past ten ye 阅读全文

并发(Concurrency)和并行(Parallelism)的区别

2013-11-11 18:09 by youxin, 847 阅读, 0 推荐, 收藏,
摘要:最近在读《real world haskell》里关于并行的一章时,看到作者首先对并发(Concurrency)和并行(Parallelism)的区别进行了定义和解释。以前我对这个问题也是一知半解,如果有人问题这个问题,恐怕我只能挠头说不清楚。而在这本书里,作者的解释是(简单翻译):一个并发程序是指能同时执行通常不相关的各种任务。以一个游戏服务器为例子:它通常是有各种组件组成,每种组件都跟外部世界进行着复杂的信息交互。一个组件有可能要处理多个用户聊聊;另外一些可能要处理用户的输入,并把最新状态反馈给用户;其它的用来进行物理计算。这些都是并发处理。并发程序并不需要多核处理器。相比之下,并行程序是 阅读全文

《how to design programs》9.3处理任意长度的表

2013-11-11 10:28 by youxin, 234 阅读, 0 推荐, 收藏,
摘要:假定一个玩具商店要把货物库存清单存放在计算机之中,这样,店里的员工就可以快速判断商店里是否还有某种玩具存货。简言之,商店需要一个能够检查库存是否含有玩具'doll 的函数contains-doll?,翻译成Scheme 的术语就是,判断符号表中是否存在值为'doll 的元素。有了函数 contains-doll?输入数据的定义,接着就要给出函数合约、头部和用途说明:;; contains-doll? : list-of-symbols -> boolean;; 判断符号'doll 是否存在于a-list-of-symbols 之中(define (contains 阅读全文

每门编程语言修复了什么

2013-11-11 10:24 by youxin, 338 阅读, 0 推荐, 收藏,
摘要:Kevin Kelleher suggested an interesting way to compare programming languages: to describe each in terms of the problem it fixes. The surprising thing is how many, and how well, languages can be described this way.Algol:Assembly language is too low-level.Pascal:Algol doesn't have enough data type 阅读全文

let区别(关于racket和r5rs)

2013-11-11 08:48 by youxin, 855 阅读, 0 推荐, 收藏,
摘要:R5RS is theRevised5Report on the Algorithmic Language Scheme.参考http://www.schemers.org/Documents/Standards/R5RS/。racket let 用法:(let([idval-expr]...)body...+)(letproc-id([idinit-expr]...)body...+)The first form evaluates theval-exprs left-to-right, creates a newlocationfor eachid, and places the valu 阅读全文

Bloom Filter

2013-11-10 12:15 by youxin, 917 阅读, 0 推荐, 收藏,
摘要:Bloom filter 是由 Howard Bloom 在 1970 年提出的二进制向量数据结构,它具有很好的空间和时间效率,被用来检测一个元素是不是集合中的一个成员,这种检测只会对在集合内的数据错判,而不会对不是集合内的数据进行错判,这样每个检测请求返回有“在集合内(可能错误)”和“不在集合内(... 阅读全文

静态作用域与动态作用域

2013-11-10 12:06 by youxin, 2697 阅读, 0 推荐, 收藏,
摘要:看一个问题http://www.zhihu.com/question/20032419词法域是否等同静态作用域?问题来源:《Scheme 程序语言介绍》(http://www.ibm.com/developerworks/cn/linux/l-scheme/part2/)中「一是把 Lisp 从 Dynamic scope 变成了 Lexical scope」词法作用域(lexical scope)等同于静态作用域(static scope)。所谓的词法作用域其实是指作用域在词法解析阶段既确定了,不会改变。我们要知道js是遵循静态作用域的。举个例子:var foo=1;function sta 阅读全文

C 语言的可变参数表函数的设计

2013-11-08 23:23 by youxin, 912 阅读, 0 推荐, 收藏,
摘要:在c语言中使用变长参数最常见的就是下面两个函数了: 那他们是怎样实现支持变成参数的呢?在使用变长参数的函数(这里假设是func)实现部分其实用到了stdarg.h里面的多个宏来访问那些不确定的参数,它们分别是: 假设lastarg是func的最后一个具名参数,即在func函数定义中...之前的那个参 阅读全文
上一页 1 ··· 111 112 113 114 115 116 117 118 119 ··· 269 下一页