不用循环/goto/递归输出1~100的10种写法

1、使用逗号表达式

1
2
3
4
5
6
7
8
9
10
11
#include<iostream>
using namespace std;
int i;
void b() { cout << i++ << endl; }
void c() { b(), b(), b(), b(), b(); }
void a() { c(), c(), c(), c(), c(); }
int main()
{
i = 1;
a(), a(), a(), a();
}
READ MORE

haskell快排

qsort [] = []
qsort (p : xs) = qsort [x | x < - xs, x < p] ++ [p] ++ qsort [x | x = p]

READ MORE

CentOS下安装Haskell环境

我使用的linux环境是CentOS 6.4,主要区别于部分依赖库的包名和基于apt的linux发行版不一样。apt下(适用于Debian, Ubuntu)安装步骤网上的相关文章很多,此处不再介绍:)

READ MORE

利用opencv进行人脸检测

昨天和别人讨论起人脸识别,因此顺便用opencv写个检测程序重温一下。人脸检测并不是十分高深的技术,现在的智能手机拍摄大多都能检测人脸,也有不少视频软件能够动态捕捉人脸。而这些简单的正脸识别也大多使用已经训练成熟的特征数据。

opencv提供了大量已经训练好了的特征数据供使用,它的特征库基于Viola-Jones检测器,并且在此检测器基础上用了Haar-like特征做了扩展,opencv中的所有特征数据都通过这个检测器来训练,也叫做“Haar分类器”。

READ MORE

Confluence展开页面树节点

confluence是一款非常出色的知识管理工具,是我最喜欢的软件之一,配合jira是一套非常完美的项目管理软件。

在confluence的’Documentation Theme’主题下,默认情况下文档页面树形控件的节点是全部收缩的,每次刷新页面时树形控件都会重置,要找到一个节点时需要逐个父节点层层点击展开,体验很差。

READ MORE

Trie字典树算法

前一段时间写了个微型输入法,使用map进行查找,发现效率不高。正好最近也在针对一个查找功能做优化,针对我的应用场景使用了Trie字典树。

READ MORE

cocos2d-x狩猎:打造有大作既视感的游戏标题画面

首先要准备一张看起来有大作水准的图片,最好带有火焰色彩的,然后准备几个按钮素材,最后是一首激情澎湃的BGM.
我们要做的效果是利用cocos2d-x的物理引擎打造一片火海的效果。cocos2d-x提供了很强的物理引擎,给我们提供了相当多的粒子效果。按照传统的图形算法实现粒子特效,是一种体力活。物理引擎主要作用是提供粒子发射器,粒子有属于自己的运动规则,如果N个粒子一起运动,就变成了带有物理规则的特效。

READ MORE

ASIO服务器编程系列0:概述与设计

BOOST::ASIO为我们提供了两种I/O机制,分别是同步和异步。它可在多平台上移植,在不同系统上采用了不同的实现。ASIO为我们封装了一系列的socket api,同时为我们提供了一套相当完善的服务器编程体系,部分概念(关键词)如:io队列、基于回调的异步通知、定时器、自定义的多线程机制。

READ MORE