代码改变世界

排序常用的算法

2013-08-19 09:18 by 北漂男孩, 216 阅读, 0 推荐, 收藏, 编辑
摘要:排序常用的算法有:插入算法(直接插入算法、折半插入算法、希尔算法)、选择算法(简单选择算法、堆排序算法)、快速算法(冒泡排序、快速排序算法)以下程序给出了各种算法的实现,其接口为void sort(int *array,int len),每个文件实现一个算法, 最后和main.c文件编译实现。1、直接插入算法://direct_insert_sort.c[cpp]view plaincopyvoidsort(int*array,intlen){inttmp,i,j;for(i=1;i=0;j--){if(array[j]>tmp)array[j+1]=array[j];elsebreak 阅读全文

插入排序 选择排序

2013-08-16 14:01 by 北漂男孩, 158 阅读, 0 推荐, 收藏, 编辑
摘要:插入排序 选择排序 阅读全文

【转】.def

2013-08-16 11:46 by 北漂男孩, 149 阅读, 0 推荐, 收藏, 编辑
摘要:DLL中导出函数的声明有两种方式:一种为在函数声明中加上__declspec(dllexport),这里不再举例说明;另外一种方式是采用模块定义(.def) 文件声明,.def文件为链接器提供了有关被链接程序的导出、属性及其他方面的信息。 首先创建 一个DLL程序,.cpp中int __stdcall Add(int numa, int numb){return (numa + numb);}int __stdcall Sub(int numa, int numb){return (numa - numb);} 然后创建一个.def的文件,在里面加上;DllTestDef.lib : 导出DL 阅读全文

腾讯AB题

2013-08-15 15:26 by 北漂男孩, 287 阅读, 0 推荐, 收藏, 编辑
摘要:1-20的两个数把和告诉A,积告诉B,A说不知道是多少,B也说不知道,这时A说我知道了,B接着说我也知道了,问这两个数是多少?分析:设和为S,积为M。首先,A:我不知道。说明:S可以分解成多个组合,而2=1+1,3=1+2,40=20+20,39=19+20,只有一种分解方式,因此S应属于[4,38]集合。其次,B:我也不知道。说明:M也可以分解成多个组合,因此M不是质数。再者,A:我现在知道了。说明:S分解方式中只有一个相乘之后是合数,其他分解方式相乘之后都是质数。这样,A才能根据B说不知道,而排出所有相乘是质数(M是质数,分解方式只有一种:1*质数)的可能,剩下的一个相乘之后是合数的组合就 阅读全文

引擎学习之一

2013-08-15 09:32 by 北漂男孩, 252 阅读, 0 推荐, 收藏, 编辑
摘要:引擎由若干个子引擎组成:图形引擎Graphics 网络引擎Network 人工智能引擎AI 物理引擎 phisics音频引擎Sound/Music 数学库引擎 Mathic 工具集引擎Ultilities。曲面(curved surfaces)、动态光线(dynamic lighting)、体雾(volumetric fog)、镜面(mirrors)、入口(portals)、天空体(skyboxes)、节点阴影(vertex shaders)、粒子系统(particle systems)、静态网格模型(static mesh models)、网格模型动画(animated mesh mode. 阅读全文

顺序查找

2013-08-15 09:21 by 北漂男孩, 308 阅读, 0 推荐, 收藏, 编辑
摘要:顺序查找又名为线性查找,主要用在线性表中进行查找。1、一般线性表的顺序查找思路: 作为一种最直观的查找方法,基本思想是从线性表的一端开始,逐个查询关键字是否满足给定的条件。若查找到某个元素的关键字满足条件,则查询成功,返回该元素在线性表中的位置;若已经找到另一端,但是还没有找到适合的条件元素,则返回失败的消息。 type struct{ ElemType *elem; Int TableLen; }SSTable; int Search_Seq(SSTable ST,ElemType key){ ST.elem(0)=key; //哨兵 ... 阅读全文

//定义几个常见的颜色值,方便在程序中使用

2013-08-15 00:55 by 北漂男孩, 304 阅读, 0 推荐, 收藏, 编辑
摘要://定义几个常见的颜色值,方便在程序中使用const XMVECTORF32 White = {1.0f, 1.0f, 1.0f, 1.0f};const XMVECTORF32 Black = {0.0f, 0.0f, 0.0f, 1.0f};const XMVECTORF32 Red = {1.0f, 0.0f, 0.0f, 1.0f};const XMVECTORF32 Green = {0.0f, 1.0f, 0.0f, 1.0f};const XMVECTORF32 Blue = {0.0f, 0.0f, 1.0f, 1.0f};const XMVECTORF32 Yellow = 阅读全文

【转】设计模式——创建型设计模式总结(简单工厂、普通工厂、抽象工厂、建造者、原型和单例)

2013-08-14 19:28 by 北漂男孩, 216 阅读, 0 推荐, 收藏, 编辑
摘要:设计模式——创建型设计模式总结(简单工厂、普通工厂、抽象工厂、建造者、原型和单例)创建型设计模式总结(转载请注明来源http://www.cnblogs.com/jerry19880126/)创建型设计模式包括简单工厂模式,普通工厂模式,抽象工厂模式,建造者模式,原型模式和最简单的单例模式。简单工厂模式(Simple Factory)从UML图中可以看出,工厂是具体的,Product是抽象的,里面的方法Operation是virtual的,它的三个子类是具体的,子类中的Operation覆盖父类的方法Operation,由多态知识可知,运行时将会调用子类的Operation,父类的Operat 阅读全文

[转] 3D算法

2013-08-14 17:36 by 北漂男孩, 1152 阅读, 0 推荐, 收藏, 编辑
摘要:1、三维图像算法 1.13D简介 我们首先从坐标系统开始。你也许知道在2D里我们经常使用笛卡儿坐标系统在平面上来识别点。我们使用二维(X,Y):X表示水平轴坐标,Y表示纵轴坐标。在3维坐标系,我们增加了Z,一般用它来表示深度。所以为表示三维坐标系的一个点,我们用三个参数(X,Y,Z)。这里有不同的笛卡儿三维系统可以使用。但是它们都是左手螺旋或右手螺旋的。右手螺旋是右手手指的卷曲方向指向Z轴正方向,而大拇指指向X轴正方向。左手螺旋是左手手指的卷曲方向指向Z轴负方向。实际上,我们可以在任何方向上旋转这些坐标系,而且它们仍然保持本身的特性。在计算机图形学,常用坐标系为左手坐标系,所以我们也使用它.. 阅读全文

矩阵3*3转置

2013-08-14 15:12 by 北漂男孩, 285 阅读, 0 推荐, 收藏, 编辑
摘要:解: main() { int a[3][3],*p,i;printf(“Input matrix:\n”);for(i=0;i<3;i++) scanf(“%d%d%d”,&a[i][0],&a[i][1],&a[i][2]); p=&a[0][0];move(p);printf(“Now,matrix:\n”); for(i=0;i<<<<3;i++) printf(“%d%d%d\n”,a[i][0],a[i][0],a[i][2]);}move(int *pointer){ int i,j,t; for(i=0;i<3 阅读全文