- 博客(17)
- 资源 (5)
- 收藏
- 关注
转载 位运算实现八皇后,并打印出结果
本篇文章的算法参考自资料n皇后问题位运算版,c++的代码参考自位运算解决八皇后问题我所做的补充不过是将结果打印出来。因为每一次位置都是用二进制来表示,所以打印出二进制数即标示皇后的位置。考虑到八皇后所放置的位置具有对称性,所以从头打印的所有结果与从尾打印出来的所有结果都是一样的。运行环境为win32。#include #include #include #include us
2013-11-14 11:30:40 886
转载 如何绘制一条连接两个点的曲线
本算法转载自如何制作一个类似Tiny Wings的游戏 Cocos2d-x 2.1.4void drawCurves(CCPoint p0, CCPoint p1, void (*drawFunc)(CCPoint, CCPoint)){#define kSegmentWidth 8 int segment = floorf((p1.x - p0.x) / kSegmentWidth
2013-10-16 17:10:05 3363
原创 DuiLib库中,文件拖入功能的实现
如何在DUILIB中实现文件的拖拽第一步:在头文件中增加一个函数用于处理拖拽文件:LRESULT OnDropFile(HDROP hDropInfo);第二步:在主窗口的Init函数中,添加拖拽文件的支持//允许拖拽文件::DragAcceptFiles(this->m_hWnd, true);第三步:在主窗口的HandleMessa
2013-01-23 09:28:38 1097 1
原创 利用libav库中的解析swf_adpcm部分来解析swf_adpcm
在libav库的libavcodec文件夹中,有adpcm.c这个文件,就是用来解析adpcm音频数据,其中有一个方法是用来解析swf_adpcm数据,方法名为adpcm_swf_decode这个方法的代码段如下1.需要用到的数据结构:ff_adpcm_step_table【89】/** * This is the step table. Note that many p
2012-12-15 15:52:25 670
原创 利用libJpeg库实现将像素数据压缩至内存中
解压的文章来源自利用libjpeg8解压内存中的jpeg图片详解,感谢作者xieqi0793,使用本文的函数,请确保自己安装了libJPEG8库,如果没有,请点击此处下载该版本以下为压缩的函数//用于将像素信息以jpeg的形式压缩至内存中int SC_jpgRes::jpeg_compress(SCUCHAR *inbuf, SCUCHAR *outbuf,uLongf *outSi
2012-12-04 16:00:38 1377 1
原创 swf中rect结构的写入
#include #include #include using namespace std;union NumBit{ int num; char bit[4];};//检验位数:如(默认需要一个位来作为符号位的标志)//正数 1,用二进制表示为0000 0001,因此可知它所占用的位数为2//正数 3, 用二进制表示为0000 0011,因此可知它所占用的位数为
2012-10-25 17:31:27 542
原创 关于一道括号匹配问题
括号序列由()[]{}组成,例如((([][{}])))这样的序列是合法的,而)(就是不合法的,要求用程序实现:判断一个括号序列是否合法boolean isValidSeq(String input) 网上查了下,居然有更巧妙的方法,咳,高手果然太多了....#include #include using namespace std;#define LeftLit -1#d
2012-09-29 15:35:47 533
原创 flash文件中RECT结构体的解析
在swf_file_format_spec_v10.pdf中,对舞台大小是用一种RECT结构体来表示,根据官方文档的描述,这种结构体是这样的//读取RECT类型/*目前想到的方案: * 1.将这九个字节数据转化成字符窜,然后通过截取字符窜得到所要的数据, * 最后转化成整数 * 2.一个字节一个字节的截取所需要的数据,然后通过一个整数变量来将其构造而成 * */
2012-08-23 16:43:55 817
原创 c++实现快速排序(挖坑填数版)
无疑这种方法比本来的方法更加快捷,减少了内存开销,直接在原数组进行排序#include using namespace std;//采用挖坑法实现快速排序template int quickSort2(T *const t, const int begin,const int end){ if(begin >= end) { return 0;
2012-08-23 10:42:21 775
原创 c++实现计算多项式的霍纳规则
霍纳规则用于计算以下多项式的值,并使乘法的次数最少: #include int hornerRule(const int x, int * const a,int length){ static int index = length; if(index == 1) { return a[length - 1]; } index
2012-08-17 17:51:34 1268
转载 面包屑导航的故事
(转自面包屑导航的故事) 面包屑导航(BreadcrumbNavigation)这个概念来自童话故事"汉赛尔和格莱特",当汉赛尔和格莱特穿过森林时,不小心迷路了,但是他们发现在沿途走过的地方都撒下了面包屑,让这些面包屑来帮助他们找到回家的路,所以,面包屑导航的作用是告诉访问者他们目前在网站中的位置以及如何返回。 在大森林的边上,住着一个贫穷的樵夫,他妻子和两个孩子与他
2012-08-16 14:38:34 2707
转载 大端模式和小端模式的起源
关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,就下令,命令所有的子民吃鸡蛋的时候,必须先打破鸡蛋较小的一端,违令者重罚。然后老百姓对
2012-08-16 14:33:38 1194
原创 c++实现基数排序
(以下介绍内容转自百科)基数排序的方式可以采用LSD(Least significant digital)或MSD(Most significant digital),LSD的排序方式由键值的最右边开始,而MSD则相反,由键值的最左边开始。 以LSD为例,假设原来有一串数值如下所示: 73, 22, 93, 43, 55, 14, 28, 65, 39, 81 首先
2012-08-14 11:17:20 489
原创 c++实现堆排序
#include #include #include using namespace std;//对比枝节点和左右子节点,将比较大的节点放置于枝节点template int heapAdjust(T t[], int i, int size){ int leftChild = 2 * i + 1; int rightChild = 2 * i + 2; //先
2012-08-13 17:04:22 278
原创 合并排序
合并排序在有些资料或书籍中又叫归并排序。合并排序算法的基本过程如下: 分解:把待排序的n个元素分解成两组,每组n/2个元素。如果n为奇数则一组(n – 1)/2个元素,另一组1 + (n – 1) / 2 ; 排序:用合并排序法递归的对上一步分解成的两个组进行排序; 合并:把上一步排序好的两组合并在一起。#include using namespace std;//对数组的归并排序tem
2012-08-09 16:34:33 404
原创 快速排序
c++实现快速排序 快速排序原理:(假定数组程度为len) s1.找出数组中某一个元素(一般是第一个),将比它小的放在左侧,比它大的放在右侧,则可确定这个元素的位置。 假设为n s2.则可将这个数据从分割成两个数组,将0-len----1和len+1---n两个数组执行s1---->s2操作。int quickSort(T *const t, int offset,int len){
2012-08-09 16:33:21 342
原创 冒泡排序和插入排序
#include using namespace std;template //冒泡排序int bubbleSort(T *const t, int len){ for(int i = len - 1; i > 0; i--) { for(int j = 0 ; j < i; j++) { if(t[j] > t[j + 1
2012-08-09 16:32:23 312
libJPEG的动态链接库
2012-12-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人