
算法
曹建峰-17年老猿
分享
展开
-
用vc实现生产者消费者问题
很多情况下我们需要多个线程互相协助,来完成同一个任务。但是线程很难从外部进行控制。 利用线程同步技术可以使线程彼此交互,从而避免了外部控制对与时间和资源的浪费。 在实际工作过程中我就遇到了类似的问题,需要对共享的缓冲区进行操作。有插入的线程也有读取的线程,这使我忽然想到了生产者和消费者。我从MSDN 找到csdn 使用了各式各样的搜索引擎,只找到了很有现的关于CSemaphor原创 2004-01-14 11:09:00 · 3309 阅读 · 0 评论 -
22种代码的坏味道,一句话概括
如果一段代码是不稳定或者有一些潜在问题的,那么代码往往会包含一些明显的痕迹。正如食物要腐坏之前,经常会发出一些异味一样。我们管这些痕迹叫做“代码异味”。原创 2014-05-14 09:52:38 · 16843 阅读 · 4 评论 -
位图的旋转
1基本算法 假使 旋转中心 cx ,cy ;旋转角度a; x,y处的象素旋转后的位置 nx,ny nx=x+cosa*(x-cx)-sina*(y-cy) ny=y+sina*(x-cx)+cosa*(y-cy) 2文本的旋转 http://www.codeguru.com/bitmap/RotateByShear.shtml http://www.codeguru.com/bitmap/rota原创 2007-03-16 10:17:00 · 1684 阅读 · 0 评论 -
我见过的最容易读懂的 a*算法(A*寻路初探)
http://blog.vckbase.com/panic/archive/2005/03/20/3778.html A*寻路初探原文:Patrick Lester翻译:Panic 2005年3月18日 原文出处:A* Pathfinding for Beginners转载 2007-03-19 16:31:00 · 17800 阅读 · 3 评论 -
3gpp文件 结构树
<div id="ftyp" style="CURSOR: hand; COLOR: blue" onclick="document.all.ftypDisc.style.display=(document.all.ftypDisc.style.display ==none)?:none">ftyp * 4.3 file type and compatibilitypdin原创 2007-03-06 14:14:00 · 2822 阅读 · 0 评论 -
3gp文件格式研究
序言06我开始做3gp文件的播放器,但是关于3gp的文档太少了也很难找,在网友luxh的帮助下,我终于有了第一份关于3gp文件格式的文档《ISO/IEC 14496-12,ISO媒体文件格式》.在此真心感谢luxh的贡献.当然了是英文版的,有文档就不错了.为了便于查阅和理解,我把之后陆续找到的其他几个文档也揉在了一起.从06年5月12日到现在2007-3-23,一点点的挤时间,总算写完原创 2006-05-12 11:27:00 · 27189 阅读 · 28 评论 -
群体模拟方法——biod
boid准则 :在这个模型中,每个个体的行为只和它周围邻近个体的行为有关,每个个体只需遵循以下3条规则: 避免碰撞(Collision Avoidance): 避免和邻近的个体相碰撞。 速度一致(Velocity Matching): 和邻近的个体的平均速度保持一致。 向中心聚集(Flock Centering): 向邻近个体的平均位置移动。 编程方法:首先每个bird之间原创 2006-02-27 11:30:00 · 3429 阅读 · 1 评论 -
我对经典的水波算法略微做了些扩展
这是效果图注意荷叶边的效果。经典的水波算法://能量的扩散 t=waterB[a-mWidth]; b=waterB[a+mWidth]; r=waterB[a+1]; l=waterB[a-1]; waterA[a]=((t+b+l+r)>>1)-waterA[a]; //能量的衰减 waterA[a]-=(waterA[a]>>6);一个非常重要的依据--能量守原创 2005-12-21 11:43:00 · 2516 阅读 · 7 评论 -
用64行代码实现生产者与消费者模型
大体思路:假设有10个数据容器。生产者:获取空闲容器,没有空闲就等待,有空闲容器就生产一个数据并填入容器。消费者:获取非空容器,有非空容器就取出来消费掉,没有就等待。原创 2015-08-23 22:40:39 · 1059 阅读 · 0 评论