自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (8)
  • 收藏
  • 关注

原创 直接插入排序

将待排序列看做左右两个子序列,左子序列有序。则一趟直接插入的排序过程为:对于右侧序列的第一个记录,在左侧有序序列中找到一个合适的位置,插入。从后向前查找合适的位置,同时向后移动记录。代码如下:/* 直接插入排序 */void StraightInsertionSort(int a[], int n){ int i, j, k, tmp; for (i=1; i -1 && tmp 直接插入排序的时间复杂度为O(n2),空间复杂度为O(1)。

2010-09-27 22:03:00 723

原创 直接选择排序

<br />将待排序列看成左右两个子序列,左子序列是有序的,右子序列是无序的,并且左序列中最大关键字(在左序列的最右边)小于右序列的最小关键字。排序的过程为:定义某个变量i指向最大关键字的下一个位置,在右序列中找到最小关键字k,将i和k交换。<br />代码如下:/* 直接选择排序 */void StraightSelectionSort(int a[], int n){ int i, j, k, tmp; for (i=0; i<n-1; i++) { k = i; // a[0

2010-09-27 20:40:00 554

原创 快速排序算法

<br />快速排序的基本思想是:从待排序列中任取一个,作为支点。凡关键字小于支点的记录均移动至支点之前,大于支点的记录均移动至支点之后。经过一趟排序后,待排序列将分割成两个子序列,分别进行上述操作。<br />一趟快速排序的具体做法是:设置两个指针i和j,分别指示待排序列的左侧记录位置和右侧记录位置,首先从j所指位置开始向前查找关键字小于支点的记录,与支点交换;再从i所指位置开始向后查找关键字大于支点的记录,与支点交换,反复执行,直到i与j相等。<br />快速排序示例如下图:<br /><br />每次

2010-09-26 20:56:00 924

原创 linux下C语言编程5-多线程编程

<br />Linux系统下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,编译需要在后面加-lpthread。<br />关于多线程,主要有以下几个过程:<br />1,创建线程<br />2,各个线程的执行<br />3,等待线程的结束<br />涉及的线程函数主要有:<br />1,int pthread_create(pthread_t *restrict tidp, const pthread_attr_t *restrict a

2010-09-25 21:15:00 2297 1

原创 linux下C语言编程4-使用共享内存实现进程间通信

<br />共享内存的函数有以下几个:<br />(1)int shmget(key_t key, int size, int shmflg),开辟或使用一块共享内存。<br />(2)void *shmat(int shmid, const void *shmaddr, int shmflg), 将参数shmid所指向的共享内存与当前进程连接。<br />当使用某共享内存时,需要先使用shmat,达成连接。<br />(3)int shmdt(const void *shmaddr),将先前用shmat连

2010-09-24 21:23:00 7362 1

原创 C语言平面几何11-点关于直线的对称点

求点P(x0, y0)关于直线Ax+Bx+C=0的对称点M(x1, y1),满足两个条件:(1)线段PM的中点在直线上(2)PM与直线垂直/* 点关于直线的对称点 */Point SymmetricalPoint(Point p, Line l){ Point s; double tmp = l.A * l.A + l.B * l.B; s.x = (l.B *l.B*p.x - l.A*l.A*p.x - 2*l.A*l.B*p.y - 2*l.A*l.C) / tmp; s.y

2010-09-24 16:20:00 3970

原创 C语言平面几何10-点到直线的垂点

求点A(x0, y0)到直线Ax+By+C=0的垂点B(x1, y1),满足两个条件:(1)Ax1+By1+C=0,点B在直线上(2)(y1-y0)/(x1-x0) * A/B=1,两线垂直,斜率k1 * k2 = -1。注:判断两直线垂直的方法有(1)A1A2+B1B2=0,(2)k1*k2 = -1。/* 计算点到直线的垂点 */Point VerticalPoint(Point p, Line l){ Point v; double tmp = l.A * l.A + l.B * l.

2010-09-16 21:29:00 4811 1

原创 C语言平面几何9-两直线的交点

求平面中两直线的交点,当两直线不平行时,必定只有一个交点。/* 返回两直线的交点 */Point LinesIntersection(Line m, Line n, int *flag){ double d = n.A * m.B - m.A * n.B; if (d == 0) { *flag = 0; return; } Point i; i.x = (n.B * m.C - m.B * n.C) / d; i.y = (m.A * n.C - n.A *

2010-09-16 20:14:00 3816

原创 linux下C语言编程3-连接PostgreSQL

PostgreSQL开发了libpq库,可供C语言编写外部程序以连接PG数据库。在C程序中,开头需要加载libpq库,#include "libpq-fe.h"即可,注意是引号。编译这个程序:gcc -I/usr/local/pgsql/include -o pq PQresult.c -L/usr/local/pgsql/lib -lpq-I/usr/local/pgsql/include是PG安装后的include目录。-L/usr/local/pgsql/lib 是PG安装后的lib目录。下面给出一个

2010-09-15 15:42:00 7230 2

原创 linux下C语言编程2-makfile的简单使用

<br />本文通过例子介绍makefile最简单的使用,其他的规则或简化等不在本文范围中。<br />假如我们编写了一个文件main.c,我们编译最常用的方法就是gcc -o main main.c,<br />但一个项目不能只有一个文件,对于这许多文件,我们该如何去编译呢?<br />于是程序员们使用一个工具去编译,这就是make,当程序有变动时,只需敲写make,回车即可。<br />为了执行make,我们要为项目编写一个很重要的文件Makefile。<br />假如我们只有两个文件a.c和b.c,我

2010-09-15 14:45:00 1486

原创 C语言平面几何8-两直线的位置关系

平面中,两直线不相交就平行,相交中又分垂直相交和非垂直相交,两直线重合可认为是特殊的平行。C语言代码如下:/* 两直线的关系 * 平面中,两直线不相交就平行 */int TwoLines(Line m, Line n){ // 平行:A1/B1 = A2/B2 if (m.A * n.B == m.B * n.A) { // 两直线斜率相同 if (m.C * n.B == m.B * n.c) return 1; // 重合 else ret

2010-09-09 22:36:00 1782

原创 C语言指针3-函数指针

函数指针是一个指向函数的指针,可以如下定义:int (*pfunc)(int, int);对这条语句的解释是:先解释(*pfunc),所以pfunc首先是一个指针;再解释(int, int),pfunc指向一个函数,该函数的参数有两个,都是整形;最后是返回值。因此,如果定义了一个函数int max(int a, int b),我们就可以这样使用函数指针了:pfunc = max; // 注意二者的返回类型,需要一致函数指针与指针函数是不一样的,后者是一个函数,其返回值是一个指针,比如char *

2010-09-07 14:14:00 1540

加载plist例子

cocos2dx2.2.1上随便创建一个项目,将本代码拷贝过去

2015-05-26

jsoncpp一个例子(含静态库)

jsoncpp一个读取例子,内含jsoncpp静态库和include,不需安装jsoncpp,编译命令见make文件。

2013-03-01

Flash8日期选择器

Flash8下实现的日期选择器,DateChooser控件的使用,使用时将该控件复制到你的Flash文件中即可。

2010-11-22

俄罗斯方块[Flash8源码+简单文档]

俄罗斯方块游戏Flash版本,内有源码和简单设计文档。在传统的俄罗斯方块的基础上,设计了方块的一些特殊属性,如不可变形、隐身等,增加了游戏难度的同时也增加了游戏趣味。 难点可参考:http://blog.csdn.net/hbuxiaoshe/archive/2010/11/12/6005203.aspx

2010-11-12

Flash8与MySQL数据库的交互

Flash8通过PHP与MySQL数据库的交互,主要实现了数据的显示和提交

2010-04-19

VC+OpenGL下的时钟显示源码

VC+OpenGL下的时钟显示源码,可下载

2010-01-08

NeHe的OpenGL框架源码(vc++6.0)

NeHe的OpenGL框架源码(vc++6.0),NeHe第一课例程模板。

2009-12-16

OpenGL开发库(.DLL,.LIB,.H)

内含 gl.h, glu.h, glaux.h opengl32.lib, glu32.lib, glaux.lib glu32.dll, opengl32.dll

2009-12-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除